如何在 R 数据框中忽略缺失值并计算每行的列均值?


要忽略缺失值并计算每行的列均值,我们需要使用 rowMeans 函数并设置 na.rm 参数。例如,如果我们有一个名为 df 的数据框,包含五列,其中一些值缺失,那么可以使用以下命令计算每行的均值:rowMeans(df,na.rm=TRUE)。

请考虑以下数据框:

示例

 实时演示

x1<-sample(c(NA,rpois(4,5)),20,replace=TRUE)
x2<-sample(c(NA,rpois(4,5)),20,replace=TRUE)
df1<-data.frame(x1,x2)
df1

输出

   x1  x2
1  NA   2
2  7    9
3  5    8
4  7   NA
5  NA   8
6  7    8
7  5    2
8  5   NA
9  5    6
10 NA   8
11 7    8 
12 5    9
13 5    9
14 NA   9
15 5    6
16 5   NA
17 5    9
18 7    9
19 7    9
20 NA  NA

查找 df1 中每行的均值:

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例

df1$RowMeans<-rowMeans(df1,na.rm=TRUE)
df1

输出

   x1  x2  RowMeans
1  NA  2   2.0
2  7   9   8.0
3  5   8   6.5
4  7   NA   7.0
5  NA  8   8.0
6  7   8   7.5
7  5   2   3.5
8  5  NA   5.0
9  5   6   5.5
10 NA 8    8.0
11 7   8   7.5
12 5   9   7.0
13 5   9   7.0
14 NA 9    9.0
15 5  6    5.5
16 5  NA   5.0
17 5  9    7.0
18 7  9    8.0
19 7  9    8.0
20 NA NA   NaN

示例

 实时演示

y1<-sample(c(NA,rnorm(5)),20,replace=TRUE)
y2<-sample(c(NA,rnorm(5)),20,replace=TRUE)
df2<-data.frame(y1,y2)
df2

输出

       y1        y2
1  0.5896447   1.8711656
2  0.9310379   1.1159848
3  2.9883385   0.6290764
4  NA          -0.6323118
5  1.4797316    NA
6  2.9883385   -0.1533375
7  0.9310379   1.8711656
8  -0.1495998   0.6290764
9  0.5896447   1.8711656
10  0.5896447   NA
11  2.9883385   -0.1533375
12  0.5896447   -0.6323118
13  2.9883385   0.6290764
14  -0.1495998   1.8711656
15  1.4797316   1.8711656
16 -0.1495998   -0.6323118
17  -0.1495998   0.6290764
18  2.9883385   -0.6323118
19  2.9883385   -0.1533375
20  2.9883385   -0.1533375

查找 df2 中每行的均值:

示例

df2$RowMeans<-rowMeans(df2,na.rm=TRUE)
df2

输出

      y1           y2           RowMeans
1   0.5896447    1.8711656    1.23040515
2   0.9310379    1.1159848    1.02351135
3   2.9883385    0.6290764    1.80870743
4   NA          -0.6323118   -0.63231175
5   1.4797316    NA           1.47973158
6   2.9883385   -0.1533375    1.41750051
7   0.9310379    1.8711656    1.40110175
8  -0.1495998    0.6290764    0.23973829
9   0.5896447    1.8711656    1.23040515
10  0.5896447    NA           0.58964468
11  2.9883385   -0.1533375    1.41750051
12  0.5896447   -0.6323118   -0.02133354
13  2.9883385    0.6290764    1.80870743
14 -0.1495998    1.8711656    0.86078292
15  1.4797316    1.8711656    1.67544859
16 -0.1495998   -0.6323118   -0.39095576
17 -0.1495998    0.6290764    0.23973829
18  2.9883385   -0.6323118    1.17801337
19  2.9883385   -0.1533375    1.41750051
20  2.9883385   -0.1533375    1.41750051

更新于: 2021年2月8日

6K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告