如何在 R 列表中存储的数据框中创建总计列?

r programmingserver side programmingprogramming更新于 2025/4/7 21:07:17

要在 R 列表中存储的数据框中创建总计列,我们可以按照以下步骤操作 −

  • 首先,创建一个数据框列表。

  • 然后,使用 lapply 函数在列表中存储的数据框中创建总计列。

示例

创建数据框列表

使用 data.frame 函数创建数据框,使用 list 函数创建这些数据框的列表 −

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

输出

执行时,上述脚本会生成以下输出(由于随机化,此输出将因您的系统而异) −

[[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

相关文章