R语言 如何选择DataFrame的子集
一般来说,当我们在处理较大的数据框架时,我们只对其中的一小部分感兴趣来分析它,而不是考虑数据框架中的所有行和列。
创建样本数据集
让我们创建一个学生的样本数据框,如下所示
student_details < -data.frame(
stud_id=c(1: 10),
stud_name=c("Anu", "Abhi", "Bob",
"Charan", "Chandu",
"Daniel", "Girish", "Harish",
"Pandit", "Suchith"),
age=c(18, 19, 17, 18, 19, 15, 21,
16, 15, 17),
section=c(1, 2, 1, 2, 1, 1, 2, 1,
2, 1)
)
print(student_details)
输出
方法1.使用索引切分法
这种方法是在分析人员知道要从主数据集中提取的行/列数字,并从中创建一个子集以方便分析时使用。给予这些行或列的数字称为索引(s)。
语法: Dataframe[行,列]
例子: 要制作一个前五行、第二和第四列的数据框架的子集
subset_1<-student_details[c(1:5),c(2,4)]
print(subset_1)
输出
方法2.使用subset()函数
当分析员知道行名和列名时,就可以使用subset()方法。简单地说,当我们想根据对数据框架的行和列植入的一些条件来得出数据框架的子集时,就可以使用这个函数。这个方法比索引方法更有效,更容易使用。
语法: subset(dataframe,rows_condition,column_condition)
例子: 提取属于section1的学生姓名
subset_2=subset(student_details,section==1,stud_name)
print(subset_2)
输出
方法3.使用dplyr软件包的功能
在filter()中–当我们想根据特定的条件得出数据框架的一个子集时,就会使用这个函数。
当分析师想根据某些条件,无论是在行或列上,还是在行和列的名称上,得出一个子集时,就会使用这个方法。在上面提到的三种方法中,这种方法比其他两种方法有效。
语法: filter(dataframe,condition)
注意: 请确保你在工作区环境中安装了dplyr包,使用命令
install.packages("dplyr") -To install
library(dplyr) - To load
例如: 让我们提取包含以字母C开头的学生姓名的行。
library(dplyr)
subset_3 < -filter(student_details,
startsWith(stud_name, 'C'))
print(subset_3)
输出