首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >取包含NAs的三个变量的平均值,使用dplyr创建新变量。

取包含NAs的三个变量的平均值,使用dplyr创建新变量。
EN

Stack Overflow用户
提问于 2019-07-30 09:43:47
回答 1查看 217关注 0票数 0

我的数据集中有三个度量,我试图将这些度量组合成一个新变量,该变量依次表示这三个变量的平均值(每行代表一个参与者)。原始三个变量中的每一个都包含NA值。

我已经尝试了下面的代码,我在这里应用于包含NA值(空气质量)的R中的样本数据集:

代码语言:javascript
运行
复制
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,并且只使用第一个元素

我也尝试过:

代码语言:javascript
运行
复制
airquality %>% filter(!is.na(airquality$Solar.R,airquality$Ozone,airquality$Wind)) %>%  mutate(New = mean(airquality$Solar.R,airquality$Ozone,airquality$Wind))

但这也给了我同样的错误。

有人能就如何解决这个问题提出建议吗?

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2019-07-30 15:19:45

您可以使用row_mean_从hablar,这是平均逐行,而忽略缺失。

代码语言:javascript
运行
复制
library(hablar)
airquality %>% 
  mutate(New = row_mean_(Solar.R, Ozone, Wind))

结果

代码语言:javascript
运行
复制
    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.200000
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57268742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档