我试图用单独的data.frame
中的新值替换每个IndID
的第一个值。请注意,每个IndID
都有不同的观察值。用新值替换每个组的第一个数/因子
使用下面的示例代码,我想将number1
和number2
的第一个值替换为dat2
df
中的相应列名称。在某些情况下,重置值为NA
。
set.seed(1)
dat <- data.frame(IndID = rep(c("A","A","B","c","c","D"), each = 5),
number1 = sample(1:100,30),
number2 = sample(1:100,30))
dat2 <- data.frame(IndID = c("A","B","c","D"),
number1 = c(555,666,NA,888),
number2 = c(111,222,NA,444))
首选的结果将产生以下更有效和优雅的方法。我怀疑dplyr
是一个合适的工具,但总是喜欢学习其他方法。
dat[1,2:3] <- c(555,111)
dat[11,2:3] <- c(666,222)
dat[16,2:3] <- c(NA,NA)
dat[26,2:3] <- c(888,444)
dat
哇。非常感激。我当然在关注的路线上...... –