如果某些列在 R 数据框中是分类的,如何找到列总数?
如果某些列在R数据框中是分类列,要查找列总数,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,如果某些列是分类列,则使用plyr包中的numcolwise函数来查找列总数。
示例1
创建数据框
让我们创建一个数据框,如下所示-
Grp<-sample(c("Male","Female"),25,replace=TRUE) Score<-sample(1:50,25) Frequency<-sample(1:5,25,replace=TRUE) df1<-data.frame(Grp,Score,Frequency) df1输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
Grp Score Frequency 1 Male 22 2 2 Male 10 2 3 Female 38 4 4 Female 13 2 5 Male 24 5 6 Male 39 2 7 Male 23 5 8 Female 42 3 9 Female 15 4 10 Female 49 4 11 Male 18 2 12 Female 30 5 13 Male 17 2 14 Male 4 3 15 Male 34 2 16 Female 3 5 17 Male 35 2 18 Female 31 3 19 Female 43 5 20 Female 9 4 21 Female 12 4 22 Female 8 4 23 Male 29 2 24 Male 46 3 25 Male 33 2
如果某些列是分类列,则查找列总计
使用plyr包中的numcolwise函数查找数据框df1中数值列的列总数-
Grp<-sample(c("Male","Female"),25,replace=TRUE) Score<-sample(1:50,25) Frequency<-sample(1:5,25,replace=TRUE) df1<-data.frame(Grp,Score,Frequency) library(plyr) numcolwise(sum)(df1)输出结果
Score Frequency 1 627 81
示例2
创建数据框
让我们创建一个数据框,如下所示-
factor<-sample(LETTERS[1:4],25,replace=TRUE) v1<-rpois(25,2) v2<-rpois(25,5) df2<-data.frame(factor,v1,v2) df2输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
factor v1 v2 1 C 3 7 2 C 2 5 3 C 2 5 4 A 3 7 5 C 4 8 6 B 0 6 7 C 3 6 8 D 3 4 9 D 2 4 10 A 6 10 11 A 2 4 12 A 2 5 13 B 3 6 14 C 2 7 15 A 2 4 16 C 0 6 17 C 3 7 18 B 1 7 19 C 1 6 20 B 2 3 21 A 1 8 22 C 1 1 23 A 3 7 24 A 4 7 25 B 1 7
如果某些列是分类列,则查找列总计
使用plyr包中的numcolwise函数查找数据框df2中数值列的列总数-
factor<-sample(LETTERS[1:4],25,replace=TRUE) v1<-rpois(25,2) v2<-rpois(25,5) df2<-data.frame(factor,v1,v2) library(plyr) numcolwise(sum)(df2)输出结果
v1 v2 1 56 147