如何在 R 資料框中查詢所有值的平均值?


如果資料框的所有列都是數值型的,那麼我們可能希望找到該資料框中所有值的平均值,但無法直接進行,因為資料框物件不是數值型的。因此,要查詢 R 資料框中所有值的平均值,我們需要先將其轉換為矩陣,然後使用 mean 函式。

示例

考慮以下資料框 -

 線上演示

x1<-rnorm(20,0.5)
x2<-rpois(20,2)
x3<-rpois(20,5)
x4<-rpois(20,10)
x5<-rnorm(20,2)
df1<-data.frame(x1,x2,x3,x4,x5)
df1

輸出

     x1       x2  x3   x4    x5
1 0.26964555   1   3    5    1.016116
2 0.42291565   1   2   11    3.128720
3 0.65188853   2   8   13    2.084747
4 1.36720540   0   8    4    1.796721
5 0.71275824   0   4    12    3.689740
6 0.40522303   3   5    12    3.479856
7 1.24929901   0   6     6    1.819096
8 0.16090460   5   7    11    2.097494
9 1.59639183   3   3    10    1.975716
10 0.58234446  4   3    11    3.249315
11 0.32498206  2   5    6    1.574391
12 1.86227329  3   7    11    1.364608
13 0.57444839  3   4    7    2.587213
14 1.71832408  0   4    8    2.623389
15 0.06276699  2   5    9    2.931708
16 -0.21100119 1   10   13    2.975824
17 1.85209226  1   4    13    2.616432
18 0.25671284  1   5    11    2.480839
19 -0.52819876 1   5    11    3.080255
20 -0.19347216 1   5    8    1.556553

使用 mean 函式查詢平均值 -

示例

mean(df1)

輸出

[1] NA

警告訊息 -

在 mean.default(df1) 中 - 引數不是數值型或邏輯型 - 返回 NA

這裡,它顯示了一個警告訊息,因此,我們需要將資料框轉換為矩陣以進行平均值計算 -

示例

mean(as.matrix(df1))

輸出

[1] 3.902662

讓我們看看另一個例子 -

示例

 線上演示

y1<-runif(20,1,2)
y2<-runif(20,2,3)
y3<-runif(20,2,4)
y4<-runif(20,2,5)
y5<-runif(20,2,10)
y6<-runif(20,5,10)
df2<-data.frame(y1,y2,y3,y4,y5,y6)
df2

輸出

      y1       y2       y3       y4       y5       y6
1 1.368129 2.738308 3.161148 4.046335 6.779294 6.587224
2 1.476344 2.916177 3.772860 3.781855 4.180840 5.689949
3 1.048968 2.557214 2.616399 4.544586 5.332783 7.590678
4 1.237608 2.886140 3.566979 2.233891 7.110491 5.400549
5 1.052892 2.085286 3.929607 3.001106 8.221596 8.019978
6 1.978942 2.558619 3.558014 2.275578 6.169379 9.002451
7 1.800132 2.692973 2.329893 4.700417 9.436470 5.828630
8 1.362224 2.647957 2.361931 4.209640 9.838114 8.874549
9 1.379799 2.521889 3.516044 4.751619 6.102215 7.123205
10 1.682376 2.854172 2.507239 2.605997 7.708206 7.139015
11 1.652283 2.546204 3.005126 2.188606 3.573105 7.826812
12 1.839336 2.663233 2.644623 3.820956 9.414881 8.410358
13 1.027927 2.741457 3.997138 2.454044 9.394880 7.838431
14 1.539522 2.790478 2.751248 2.446984 9.048925 5.909314
15 1.112645 2.582921 2.028874 4.003921 5.382478 6.043791
16 1.038845 2.819239 3.011070 2.966783 8.145579 7.155915
17 1.140283 2.600742 3.867859 2.332695 7.513786 7.659354
18 1.641807 2.601332 3.274624 4.081097 9.738734 5.018204
19 1.790096 2.839944 3.250313 3.507385 7.654682 7.040064
20 1.377599 2.105186 2.383566 2.610954 2.762618 7.352752

示例

mean(as.matrix(df2))

輸出

[1] 4.120138

更新於: 2020-09-08

2K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.