一个类似我的数据是:
dat1<-read.table (text=" ID Rat Garden Class Time1 Time2 Time3
1 12 12 0 15 16 20
1 13 0 1 NA NA NA
2 13 11 0 18 12 16
2 9 0 1 NA NA NA
1 6 13 0 17 14 14
1 7 0 2 NA NA NA
2 4 14 0 17 16 12
2 3 0 2 NA NA NA
", header=TRUE)
dat2<-read.table (text=" ID Value1 Value2
1 6 7
2 5 4
", header=TRUE)
我想把dat2到dat1的值插入到Time1列中,在class列中的数字1和2之前,我得到了以下结果。
ID Rat Garden Class Time1 Time2 Time3
1 12 12 0 15 16 20
1 13 0 1 6
2 13 11 0 18 12 16
2 9 0 1 5
1 6 13 0 17 14 14
1 7 0 2 7
2 4 14 0 17 16 12
2 3 0 2 4
2条答案
按热度按时间3npbholx1#
我们可以按"ID"和
replace
分组,其中NA
值与ID
匹配的unlist
ed "dat2""Value"列一起出现waxmsbnn2#
这是一个狂野的旅程:首先,我们将
dat2
中的值作为一个向量取出,然后将交替的NA
放入向量中,直到列长为dat1
,最后在cbind
之后使用coalesce
: