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