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


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

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

  • 然後,使用 tapply 以及 colnames 和 var 函式來查詢具有相同名稱的列的行方差。

示例

建立資料框

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

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

輸出

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

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

查詢具有相同名稱的列的行方差

使用 tapply 以及 colnames 和 var 函式來查詢資料框 df 中具有相同名稱的列的行方差:

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

輸出

        x    y
[1,]   72.0 0.5
[2,]   24.5 8.0
[3,]   72.0 0.5
[4,]  112.5 0.0
[5,]  12.5  8.0
[6,]  32.0  4.5
[7,]  50.0  0.0
[8,]  32.0  8.0
[9,]  72.0  4.5
[10,] 40.5  0.0
[11,]  8.0  2.0
[12,] 60.5  2.0
[13,] 40.5  4.5
[14,] 24.5  8.0
[15,] 40.5 32.0
[16,] 98.0  2.0
[17,] 72.0  2.0
[18,] 24.5 24.5
[19,] 72.0  2.0
[20,] 24.5 18.0
[21,] 98.0  0.5
[22,] 50.0  2.0
[23,]  8.0  4.5
[24,] 24.5  4.5
[25,]  8.0 50.0

更新於: 2021-11-12

219 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.