如何在忽略NA

时间:2019-03-28 10:28:39

标签: r data.table mean

表格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之类的方法,但没有获得如上所述的预期结果。

1 个答案:

答案 0 :(得分: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