如何在儲存在 R 列表中的資料框中建立總計列?


要建立儲存在 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

更新於: 2021年11月9日

86 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

立即開始
廣告