这个问题在这里已有答案:
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
这样的方法,但是我没有像上面描述的那样得到理想的结果。
对于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