>>950はもしかして>>951なのか?
それなら、データ構造は明らかで申し訳ない。
> (d1 <- data.frame(a = 1:3, b = 4:6))
a b
1 1 4
2 2 5
3 3 6
> (d2 <- data.frame(a = c(2,1,3), b = c(7:8, NA)))
a b
1 2 7
2 1 8
3 3 NA
だとすると、aごとにbの差分を計算するなら、
> d1$b - d2[order(d2$a), ]$b
[1] -4 -2 NA
とする。