如何在R資料框中查詢具有相同名稱的列的行均值?


為了在R資料框中查詢具有相同名稱的列的行均值,我們可以按照以下步驟操作:

  • 首先,建立一個包含一些具有相同名稱的列的資料框。

  • 然後,使用`tapply`以及`colnames`和`mean`函式來查詢具有相同名稱的列的行均值。

示例

建立資料框

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

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

輸出

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

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

查詢具有相同名稱的列的行均值

使用`tapply`以及`colnames`和`mean`函式在資料框`df`中查詢具有相同名稱的列的行均值:

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

輸出

        x  y
[1,]  7.0 3.5
[2,]  4.5 5.0
[3,]  7.5 3.5
[4,]  5.5 2.5
[5,]  7.5 4.0
[6,]  6.0 3.0
[7,]  4.5 3.5
[8,]  5.0 2.0
[9,]  5.5 1.5
[10,] 6.5 2.0
[11,] 6.5 1.0
[12,] 1.0 6.5
[13,] 6.0 2.5
[14,] 4.0 3.5
[15,] 6.0 3.0
[16,] 4.5 2.0
[17,] 5.5 5.5
[18,] 6.5 2.5
[19,] 7.5 4.0
[20,] 7.0 1.5
[21,] 7.0 2.0
[22,] 5.5 2.0
[23,] 4.5 3.0
[24,] 5.0 2.0
[25,] 4.5 3.0

更新於:2021年11月15日

1K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.