如果 R 数据框中某些列属于分类,如何找到列的累计总和?
r programmingserver side programmingprogramming更新于 2025/4/7 15:37:17
要找到 R 数据框中某些列属于分类的累计总和,我们可以按照以下步骤操作 −
首先,创建一个数据框。
然后,使用 plyr 包中的 numcolwise 函数查找某些列属于分类的累计总和。
示例
创建数据框
让我们创建一个如下所示的数据框 −
Gender<-sample(c("Male","Female"),25,replace=TRUE) Salary<-sample(10000:50000,25) Experience<-sample(1:10,25,replace=TRUE) df<-data.frame(Gender,Salary,Experience) df
输出
执行时,上述脚本会生成以下输出(由于随机化,此输出将因您的系统而异) −
Gender Salary Experience 1 Female 31830 3 2 Male 19778 2 3 Female 42307 9 4 Female 11013 3 5 Male 48208 3 6 Male 40936 10 7 Male 21131 1 8 Male 39166 9 9 Male 36098 2 10 Male 40579 4 11 Male 12884 8 12 Female 15205 6 13 Female 17143 9 14 Female 12945 9 15 Female 21179 10 16 Male 30318 5 17 Male 29230 6 18 Female 26574 9 19 Male 49227 5 20 Male 44086 9 21 Male 47451 4 22 Female 49371 5 23 Female 14601 10 24 Female 43574 4 25 Male 36308 6
如果某些列是分类的,则查找累积总和
使用 plyr 包中的 numcolwise 函数查找数据框 df 中数值列的累积 −
Gender<-sample(c("Male","Female"),25,replace=TRUE) Salary<-sample(10000:50000,25) Experience<-sample(1:10,25,replace=TRUE) df<-data.frame(Gender,Salary,Experience) library(plyr) numcolwise(cumsum)(df)
输出
Salary Experience 1 43316 9 2 59418 18 3 70463 24 4 112002 32 5 129669 41 6 143625 50 7 168626 55 8 181440 65 9 213943 75 10 235701 84 11 275620 93 12 302459 94 13 326787 102 14 372124 108 15 414284 115 16 453324 123 17 501014 131 18 514031 134 19 543122 138 20 589538 141 21 622802 142 22 651796 150 23 668540 157 24 701131 162 25 735165 165