Предполагая, что два следующих фрейма данных похожи на то, что вы описываете:
R> a <- data.frame(uid=1:10,var1=c(1:3,NA,5:7,NA,9:10))
R> a
uid var1
1 1 1
2 2 2
3 3 3
4 4 NA
5 5 5
6 6 6
7 7 7
8 8 NA
9 9 9
10 10 10
R> b <- data.frame(uid=c(8,4),var1=c(74,82))
R> b
uid var1
1 8 74
2 4 82
Тогда вы можете напрямую использовать следующее:
R> a[b$uid,"var1"] <- b$var1
Что дает:
R> a
uid var1
1 1 1
2 2 2
3 3 3
4 4 82
5 5 5
6 6 6
7 7 7
8 8 74
9 9 9
10 10 10