如何计算每列的平均值忽略NA [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

table,data.frame。

其中有12列具有变量名称和24行df

喜欢:

Var1 Var2 Var3 Var4 Var12
1     NA   2     3    4
5     6    2     3    3
NA    7    8     NA   4

我想计算每列的平均值而忽略Na的例如:

colMeans(df)

得到的结果如下:

Var1  Var2  Var3  Var4  Var12
 3     6,5   4     3     3,66

我不希望在计算均值时考虑NA

我试过像na.omit!is.na这样的方法,但是我没有像上面描述的那样得到理想的结果。

r data.table mean
1个回答
1
投票

对于data.table dt,看起来像这样:

dt
   Var1 Var2 Var3 Var4 Var12
1:    1   NA    2    3     4
2:    5    6    2    3     3
3:   NA    7    8   NA     4

你可以简单地使用lapply()

dt[, lapply(.SD, mean, na.rm = TRUE)]

结果是:

   Var1 Var2 Var3 Var4    Var12
1:    3  6.5    4    3 3.666667
© www.soinside.com 2019 - 2024. All rights reserved.