在 df1 中,我需要将 msec 的值替换为 df2 中的相应值。
df1 <- data.frame(ID=c('rs', 'rs', 'rs', 'tr','tr','tr'), cond=c(1,1,2,1,1,2),
block=c(2,2,4,2,2,4), correct=c(1,0,1,1,1,0), msec=c(456,678,756,654,625,645))
df2 <- data.frame(ID=c('rs', 'rs', 'tr','tr'), cond=c(1,2,1,2),
block=c(2,4,2,4), mean=c(545,664,703,765))
在 df1 中,如果correct==0
,然后参考df2
与匹配值ID
, cond
, and block
。将值替换为msec
in df1
与相应的值mean
in df2
.
例如,df1 中的第二行有correct==0
。所以,在df2
找到对应的行,其中ID=='rs'
, cond==1
, block==2
并使用平均值 (mean=545
) 来替换 msec 的值 (msec=678
)。请注意,在 df1 中,ID、block 和 cond 的组合可以重复,但每个组合在 df2 中仅出现一次。