我想用与该val2
列相对应的val
的平均值替换每一行ID
中的NA值。有任何简单的方法可以做到这一点吗?
此外,我想知道如何按类别将mean(na.rm=TRUE)
值本身的val2
替换(例如:对于第6和第9行,val2将替换为4,{{1}中的mean(na.rm=TRUE)
(对于val2
)
对于此图像中的数据框:
R代码:
ID==c
答案 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))