如何针对存储在 R 数据框中的数据创建带有求和的枢纽表?


为了针对存储在 R 数据框中的数据创建带有求和的枢纽表,我们可以按照以下步骤操作:

  • 首先,创建一个包含两个分类列和一列数字列的数据框。

  • 接下来,使用 reshape2 程序包中的 dcast 函数,针对存储在数据框中的数据创建枢纽表。

示例

创建数据框

让我们创建一个如下所示的数据框:

Group<-sample(LETTERS[1:5],25,replace=TRUE)
Gender<-sample(c("Male","Female"),25,replace=TRUE)
Score<-sample(1:100,25)
df<-data.frame(Group,Gender,Score)
df

输出

上述脚本执行后,会生成如下输出(此输出会因系统中的随机性有所不同):

 Group Gender Score
1  B  Male    69
2  B  Male    66
3  D  Male    34
4  D  Male    25
5  E  Male    51
6  B  Male    38
7  E  Male    48
8  A  Female  29
9  D  Male    10
10 C  Female  96
11 E  Female   8
12 D  Male    39
13 E  Female  94
14 D  Female  61
15 A  Female  70
16 B  Male    90
17 B  Female 100
18 B  Female  27
19 A  Female  33
20 A  Female  98
21 A  Male    32
22 B  Female  78
23 E  Male    86
24 D  Male    74
25 A  Female  99

创建枢纽表

使用 reshape2 程序包中的 dcast 函数,针对存储在数据框 df 中的数据创建枢纽表:

Group<-sample(LETTERS[1:5],25,replace=TRUE)
Gender<-sample(c("Male","Female"),25,replace=TRUE)
Score<-sample(1:100,25)
df<-data.frame(Group,Gender,Score)
library(reshape2)
dcast(data=df,formula=Group~Gender,fun.aggregate=sum,value.var="Score")

输出

   Group Female Male
1  A      152   181
2  B      177   117
3  C       83    66
4  D      137    51
5  E      196   149

更新于:2021 年 11 月 10 日

633 次浏览

开启 职业生涯

通过完成课程获得认证

开始
广告