使用基于R中类别的另一个变量的平均值填充缺失值

时间:2019-03-09 05:42:30

标签: r dplyr tidyverse na imputation

我想用与该val2列相对应的val的平均值替换每一行ID中的NA值。有任何简单的方法可以做到这一点吗?

此外,我想知道如何按类别将mean(na.rm=TRUE)值本身的val2替换(例如:对于第6和第9行,val2将替换为4,{{1}中的mean(na.rm=TRUE)(对于val2

对于此图像中的数据框:

Image link

R代码:

ID==c

1 个答案:

答案 0 :(得分:0)

我自己找到了答案,以防万一有比这更好的答案建议,请分享

df %>% 
group_by(ID) %>% 
mutate(val2 = ifelse(is.na (val2), mean(val), val2))

df %>% 
group_by(ID) %>% 
mutate(val2 = ifelse(is.na(val2), mean(val2,na.rm=TRUE), val2))