【发布时间】:2019-12-28 11:58:28
【问题描述】:
我想用同性内的平均值替换缺失值。
例如,如果“患者 A - 男性”在疼痛方面有缺失值,则缺失值将被替换为男性疼痛的平均值。
rawdata <- rawdata %>%
mutate(replace_pain = ifelse(is.na(pain) & sex == "male",
rawdata %>%
filter(sex == "male") %>%
mean(pain, na.rm = TRUE),
ifelse(is.na(pain) & sex == "female",
rawdata %>%
filter(sex == "female") %>%
mean(pain, na.rm = TRUE),
pain)))
它有两个问题。
1) 编码有点乱。
2) 它不起作用。出现错误。或许,%>%mean 代码似乎有问题。
Warning message:
In mean.default(., pain, na.rm = TRUE) :
argument is not numeric or logical: returning NA
有没有更好的方法来用条件来估算缺失值?
【问题讨论】:
标签: r dplyr imputation