【发布时间】:2020-05-23 22:44:51
【问题描述】:
我有两个数据框,第一个 (dat) 有两列 group 和 value。第二个数据框 (dat2) 具有每个 group 的平均值。如何将dat 中的NA 值替换为dat2 中找到的组的平均值?
library(dplyr)
x <- as.data.frame(seq(from = 1, to = 10, by = 1))
names(x)[1] <- "value"
y <- as.data.frame(c("A","A","A","A","A","B","B","B","B","B"),1)
names(y)[1] <- "group"
dat <- cbind(y,x)
dat[dat == 3] <- NA
dat[dat == 7] <- NA
dat2 <- dat %>%
group_by(group) %>%
summarise_at(.vars = names(.)[2],.funs = c(mean="mean"),na.rm=TRUE)
【问题讨论】: