如果某些列在 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(this output will vary on your system due to randomization)-

   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(this output will vary on your system due to randomization)-

 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

猜你喜欢