R语言 如何使用ggplot2绘制数据框架的一个子集

R语言 如何使用ggplot2绘制数据框架的一个子集

在这篇文章中,我们将讨论如何使用R编程语言中的ggplot2来绘制数据框架的子集。

使用中的数据框架

编号 年龄 分数 入学人数(EnrollNo)
1 17 70 05
2 18 80 10
3 17 79 15
4 19 75 20
5 18 85 25
6 19 96 30
7 17 90 35
8 19 71 40
9 18 83 45

为了得到一个完整的画面,让我们先画一个完整的数据框架。

例子

# Load ggplot2 package
library(ggplot2)
  
# Create Data For plotting
Age <- c("17", "18", "17", "19", "18", "19",
         "17", "19", "18")
  
EnrollNo <- c("05", "10", "15", "20", "25",
              "30", "35", "40", "45")
  
Score <- c("70", "80", "79", "75", "85", "96",
           "90", "71", "83")
  
# Create a DataFrame from Data
data <- data.frame(Age, EnrollNo, Score)
  
# Create a simple Scatter Plot
ggplot(data, aes(Score, EnrollNo)) + 
  geom_point(color = "green", size = 3)

输出

如何在R语言中使用ggplot2绘制数据框架的一个子集?

简单的散点图

现在,我们将看到使用数据框架的子集逐一创建R图的所有方法。

方法1:使用subset()函数

在这里,我们使用 subset() 函数在 ggplot() 函数中只绘制DataFrame的子集,以取代DataFrame的 数据 。所有其他事情都是一样的。

语法: subset(obj, …)

参数

  • 它把要被子集的数据对象作为第一个参数。
  • subset()函数可以有很多其他参数,只有obj是必须的。这里我们只使用逻辑表达式表示行作为第二个参数。

返回: subset()函数返回DataFrame的子集。

例子

# Load ggplot2 package
library(ggplot2)
  
# Create Data For plotting
Age <- c("17", "18", "17", "19", "18", "19",
         "17", "19", "18")
  
EnrollNo <- c("05", "10", "15", "20", "25", 
              "30", "35", "40", "45")
  
Score <- c("70", "80", "79", "75", "85", "96",
           "90", "71", "83")
  
  
# Create a DataFrame from Data
data <- data.frame(Age, EnrollNo, Score)
  
# Generate R Scatter Plot only where Age 
# variable has value "18"
ggplot(subset(data, Age %in% "18"), aes(Score, EnrollNo)) + 
  geom_point(color = "green", size = 3)

输出

如何在R语言中使用ggplot2绘制数据框架的一个子集?

通过sunset()函数仅使用DataFrame的子集绘制散点图

方法2:使用方括号

在这个方法中,我们没有使用subset()函数,但我们在方括号中写了检索DataFrame子集的逻辑表达式,并将其分配给子集变量。

例子

# Load ggplot2 package
library(ggplot2)
  
# Create Data For plotting
Age <- c("17", "18", "17", "19", "18", "19", 
         "17", "19", "18")
  
EnrollNo <- c("05", "10", "15", "20", "25",
              "30", "35", "40", "45")
  
Score <- c("70", "80", "79", "75", "85", "96",
           "90", "71", "83")
  
# Create a DataFrame from Data
data <- data.frame(Age, EnrollNo, Score)
  
# Create a Variable 'data_subset' 
# which has the values equal to 
# "19" values of Age object.
data_subset <- data[data$Age %in% "19", ]
  
# Generate R Scatter Plot only where
# Age variable has value "19"
ggplot(data_subset, aes(Score, EnrollNo)) + 
  geom_point(color = "green", size = 3)

输出

如何在R语言中使用ggplot2绘制数据框架的一个子集?

仅使用方括号内的数据框架子集的散点图

方法3:在ggplot()函数中使用方括号

在这个方法中,我们使用方括号来编写DataFrame子集的表达式,但我们在ggplot()函数中使用它来代替dataframe对象。

例子

# Load ggplot2 package
library(ggplot2)
  
# Create Data For plotting
Age <- c("17", "18", "17", "19", "18", "19",
         "17", "19", "18")
  
EnrollNo <- c("05", "10", "15", "20", "25", 
              "30", "35", "40", "45")
  
Score <- c("70", "80", "79", "75", "85", "96", 
           "90", "71", "83")
  
# Create a DataFrame from Data
data <- data.frame(Age, EnrollNo, Score)
  
# Generate R Scatter Plot only where
# Age variable has value "17"
ggplot(data[data$Age %in% "17", ], aes(Score, EnrollNo)) + 
  geom_point(color = "green", size = 3)

输出

如何在R语言中使用ggplot2绘制数据框架的一个子集?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程