2016-08-04 8 views
0

2つのデータフレームの間に共通の列値に基づいて列を埋め込むことは可能ですか?別の列からデータフレーム列を書き込む

group, num 
12, 0 
19, 0 
43, 1 

と第二DF2:最初のDF1は、このデータがあるたとえば

group, out 
    11 
    11 
    11 
    12, 0 
    12, 0 
    12, 0 
    12, 0 
    24 
    24 
    25 
    43, 1 
    43, 1 

の場合:

group 
11 
11 
11 
12 
12 
12 
12 
24 
24 
25 
43 
43 

と私が持っているしたい出力はこれですdf1値のグループはdf2グループ列に存在し、新しいdfのdf1の列numの値を入力します。それ以外の場合は空白にします細胞。

答えて

0

left.joinからdplyrライブラリがすべて必要です。それがするのは、最初のdata.frameからすべての値を保持し、可能であれば、指定された列に基づいて2番目のdata.frameと結合することです。

library (dplyr) 
df1 <- data.frame("group"=c(12,19,43), "num"=c(0,0,1)) 
print (df1) 
    group num 
1 12 0 
2 19 0 
3 43 1 

df2 <- data.frame("group"=c(11,11,11,12,12,12,12,24,24,25,43,43)) 
print (df2) 
    group 
1  11 
2  11 
3  11 
4  12 
5  12 
6  12 
7  12 
8  24 
9  24 
10 25 
11 43 
12 43 

df3 <- left_join(df2, df1, by = "group") 
print (df3) 
    group num 
1  11 NA 
2  11 NA 
3  11 NA 
4  12 0 
5  12 0 
6  12 0 
7  12 0 
8  24 NA 
9  24 NA 
10 25 NA 
11 43 1 
12 43 1 
関連する問題