如何基于多列创建 R 数据框的子集?
要基于多列创建R数据框的子集,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,使用单个方括号根据多列对数据框进行子集化。
创建数据框
例子
让我们创建一个数据框,如下所示-
x1<-sample(1:5,20,replace=TRUE) x2<-sample(1:5,20,replace=TRUE) x3<-sample(1:5,20,replace=TRUE) df<-data.frame(x1,x2,x3) df
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x1 x2 x3 1 5 3 5 2 5 4 3 3 1 5 5 4 2 2 4 5 4 4 4 6 4 1 3 7 5 2 3 8 4 5 1 9 5 3 4 10 4 2 2 11 5 3 1 12 4 4 5 13 3 1 3 14 1 2 3 15 3 2 4 16 2 3 3 17 3 2 5 18 5 5 2 19 1 2 3 20 1 5 1
根据多列查找子集
例子
使用单个方括号对第1列或第2列或第3列的值等于1的df进行子集-
x1<-sample(1:5,20,replace=TRUE) x2<-sample(1:5,20,replace=TRUE) x3<-sample(1:5,20,replace=TRUE) df<-data.frame(x1,x2,x3) df[(df[,1]==1|df[,2]==1|df[,3]==1),]
输出
x1 x2 x3 3 1 5 5 6 4 1 3 8 4 5 1 11 5 3 1 13 3 1 3 14 1 2 3 19 1 2 3 20 1 5 1