Rにて、a$key1、b$key1、b$dataとあったとして、b$dataをkey1ごとに平均し、a$key1にマッチするように新しい列a$data1に入れる方法。
tmp_b_data<-aggreagate(b$data,by=b$key1,mean)
a$data<-tmp_b_data[match(a$key1,tmp_b_data[,1]),2]
とする。
最初の行でtmp_b_dataにkey1ごとでまとめた平均をいれ、それからmatchするものを取ってくる。
いたってシンプルだけど、他に色々試した方法よりも早く中々使い勝手が良い。