【发布时间】:2018-05-17 22:35:07
【问题描述】:
我有一个包含 1000 个观察值的数据框。
对于每个观察值,我有五个变量。现在我想创建一个新变量,它是这 5 个变量的聚合。
我输入了以下内容:
df$aggr_variable <- (1/5)*(var1+var2+var3+var4+var5)
然后我得到了新的聚合变量,但也有问题。如果假设观察 839 在var2 中有一个缺失值NA,但其他四个变量的值仍然存在,它会在聚合变量中给我NA。
当一个变量包含 NA 时,如何在不漏掉整个观察结果的情况下留下五个变量的 NA?
【问题讨论】:
-
df$aggr_variable <- rowMeans(df, na.rm = TRUE) -
很好,它有效,谢谢!现在,如果我只想聚合 var 1、var3 和 var4,我怎么能只使用这些而忽略 var2 和 var5?因为 rowMeans 使用了所有手段,所以这行不通...
-
rowMeans(subset(df, select = c("var1", "var3", "var4")), na.rm = TRUE)