如何在 R 資料框中查詢具有相同名稱的列的每一行的總和?


要查詢 R 資料框中具有相同名稱的列的每一行的總和,我們可以按照以下步驟操作:

  • 首先,建立一個數據框,其中包含一些具有相同名稱的列。

  • 然後,使用 tapply 以及 colnames 和 sum 函式來查詢具有相同名稱的列的每一行的總和。

示例

建立資料框

讓我們建立一個如下所示的資料框:

df<-
data.frame(x=rpois(25,1),y=rpois(25,10),x=rpois(25,5),y=rpois(25,5),check.names=FALSE)
df

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):

     x y  x y
1   3 14  5 8
2   1 13  8 9
3   0 12 11 6
4   1 11  5 6
5   0  4  6 4
6   1  8  3 7
7   0  5  4 7
8   0  8  5 4
9   1  8  5 8
10  3 12  6 2
11  0 15  8 3
12  3 18  4 3
13  1 14  4 6
14  1 11  6 6
15  2 21  2 6
16  2  9  6 6
17  0 12  4 8
18  2  6 10 4
19  2 10  4 5
20  3 10  7 3
21  0  6 11 5
22  0 11  2 4
23  1  4  2 8
24  0  9  4 3
25  1  5  4 7

查詢具有相同名稱的列的每一行的總和

使用 tapply 以及 colnames 和 sum 函式來查詢資料框 df 中具有相同名稱的列的每一行的總和:

df<-
data.frame(x=rpois(25,1),y=rpois(25,10),x=rpois(25,5),y=rpois(25,5),check.names=FALSE)
t(apply(df,1, function(x) tapply(x,colnames(df),sum)))

輸出

        x y
[1,]   8 22
[2,]   9 22
[3,]  11 18
[4,]   6 17
[5,]   6  8
[6,]   4 15
[7,]   4 12
[8,]   5 12
[9,]   6 16
[10,]  9 14
[11,]  8 18
[12,]  7 21
[13,]  5 20
[14,]  7 17
[15,]  4 27
[16,]  8 15
[17,]  4 20
[18,] 12 10
[19,]  6 15
[20,] 10 13
[21,] 11 11
[22,]  2 15
[23,]  3 12
[24,]  4 12
[25,]  5 12

更新於: 2021-11-16

900 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.