如何创建带有 R 数据框中存储数据总和的透视表?

r programmingserver side programmingprogramming更新于 2025/4/7 11:22:17

要创建带有 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

相关文章