如何在存储在 R 列表中的数据框中创建一列总计?
要在存储在R列表中的数据框中创建一列总计,我们可以按照以下步骤操作-
首先,创建一个数据框列表。
然后,使用lapply函数在存储在列表中的数据框中创建一列总计。
示例
创建数据框列表
使用data.frame函数创建数据框和列表函数来创建这些数据框的列表-
df1<-data.frame(x=rpois(25,5),y=rpois(25,3),z=rpois(25,1)) df2<-data.frame(x=rpois(25,1),y=rpois(25,10),z=rpois(25,5)) List<-list(df1,df2) List输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
[[1]] x y z 1 5 2 1 2 4 2 0 3 4 3 0 4 3 1 0 5 6 3 1 6 6 4 1 7 5 2 1 8 4 5 0 9 9 4 1 10 5 2 0 11 7 2 0 12 4 2 1 13 4 2 1 14 9 1 1 15 4 0 1 16 10 5 1 17 6 1 1 18 4 1 1 19 4 1 0 20 5 1 2 21 8 4 0 22 6 0 0 23 3 4 0 24 5 1 0 25 4 2 1 [[2]] x y z 1 2 4 8 2 1 15 5 3 2 11 4 4 0 10 3 5 2 14 10 6 1 12 2 7 0 13 2 8 0 12 4 9 1 17 4 10 2 16 9 11 1 12 7 12 3 6 6 13 2 9 5 14 0 13 4 15 1 13 5 16 1 7 8 17 2 15 7 18 0 11 11 19 0 10 4 20 0 15 6 21 2 8 6 22 2 13 5 23 0 14 1 24 0 9 5 25 1 11 7
在存储在列表中的数据框中创建一列总计
使用lapply函数在存储在名为List的列表中的数据帧df1和df2中创建一列总计,如下所示-
df1<-data.frame(x=rpois(25,5),y=rpois(25,3),z=rpois(25,1)) df2<-data.frame(x=rpois(25,1),y=rpois(25,10),z=rpois(25,5)) List<-list(df1,df2) lapply(List,function(x) { + x$Total<-x$x+x$y+x$z + return(x) + })输出结果
[[1]] x y z Total 1 3 3 0 6 2 5 0 1 6 3 4 3 2 9 4 3 5 1 9 5 6 7 1 14 6 6 4 2 12 7 5 0 0 5 8 5 4 2 11 9 5 2 1 8 10 3 5 1 9 11 3 1 0 4 12 4 8 1 13 13 8 4 0 12 14 3 2 1 6 15 7 2 4 13 16 4 1 2 7 17 2 1 0 3 18 3 2 2 7 19 8 3 3 14 20 7 3 4 14 21 9 5 1 15 22 3 3 1 7 23 2 1 1 4 24 3 2 0 5 25 5 6 2 13 [[2]] x y z Total 1 0 12 6 18 2 0 19 5 24 3 5 13 6 24 4 0 8 6 14 5 0 12 5 17 6 1 10 3 14 7 0 10 4 14 8 1 14 4 19 9 1 5 7 13 10 0 5 4 9 11 1 14 6 21 12 0 6 4 10 13 0 6 4 10 14 0 5 3 8 15 1 12 7 20 16 2 4 8 14 17 0 14 5 19 18 2 8 9 19 19 1 9 4 14 20 1 11 1 13 21 0 11 5 16 22 4 11 7 22 23 0 11 6 17 24 2 9 6 17 25 0 10 5 15