我的数据集中有三个度量,我试图将这些度量组合成一个新变量,该变量依次表示这三个变量的平均值(每行代表一个参与者)。原始三个变量中的每一个都包含NA值。
我已经尝试了下面的代码,我在这里应用于包含NA值(空气质量)的R中的样本数据集:
airquality %>% mutate(New = mean(airquality$Solar.R,airquality$Ozone,airquality$Wind))但我一直收到错误信息:
Mean.default中的错误(空气质量$Solar.R,空气质量$臭氧,空气质量$风能):“trim”必须是长度1的数字:警告消息: if (na.rm) x <- x!is.na(x):条件长度>1,并且只使用第一个元素
我也尝试过:
airquality %>% filter(!is.na(airquality$Solar.R,airquality$Ozone,airquality$Wind)) %>% mutate(New = mean(airquality$Solar.R,airquality$Ozone,airquality$Wind))但这也给了我同样的错误。
有人能就如何解决这个问题提出建议吗?
提前谢谢你!
发布于 2019-07-30 15:19:45
您可以使用row_mean_从hablar,这是平均逐行,而忽略缺失。
library(hablar)
airquality %>%
mutate(New = row_mean_(Solar.R, Ozone, Wind))结果
Ozone Solar.R Wind Temp Month Day New
1 41 190 7.4 67 5 1 79.466667
2 36 118 8.0 72 5 2 54.000000
3 12 149 12.6 74 5 3 57.866667
4 18 313 11.5 62 5 4 114.166667
5 NA NA 14.3 56 5 5 14.300000
6 28 NA 14.9 66 5 6 21.450000
7 23 299 8.6 65 5 7 110.200000https://stackoverflow.com/questions/57268742
复制相似问题