Попробуйте это решение
Ваши кадры данных
data1<-data.frame(V1=c("a","b","c","a","b","c","a","b","c"),
V2=c("d","d","e","d","f","g","h","k","e"),
V3=c("t","w","t","t","w","t","w","w","w"))
data2<-data.frame(V1=c("a","b","c"),
V2=c("d","f","e"),
V3=c("w","t","t"))
объедините их, используя столбцы V1
и V2
library("dplyr")
data3<-left_join(data1,data2,by=c("V1","V2"))
data3
V1 V2 V3.x V3.y
1 a d t w
2 b d w <NA>
3 c e t t
4 a d t w
5 b f w t
6 c g t <NA>
7 a h w <NA>
8 b k w <NA>
9 c e w t
Подстановка соответствующих значений
data3[!is.na(data3[,4]),3]<-data3[!is.na(data3[,4]),4]
Ваш вывод
data3[,-4]
V1 V2 V3.x
1 a d w
2 b d w
3 c e t
4 a d w
5 b f t
6 c g t
7 a h w
8 b k w
9 c e t