我是R的初學者,所以如果問題在其他地方提出,我提前道歉。這是我的問題:與合併/綁定/連接兩個數據幀的R問題
我有兩個數據幀,df1和df2,具有不同數量的行和列。這兩個框架只有一個共同稱爲「customer_no」的變量(列)。我希望合併框架僅匹配基於「customer_no」的記錄,並僅匹配df2中的行。兩個data.frames對於每個customer_no都有多行。
我試過如下:
merged.df <- (df1, df2, by="customer_no",all.y=TRUE)
的問題是,這種分配DF1的值DF2地方,而不是它應該是空的。我的問題是:
1)如何告訴命令將不匹配的列留空? 2)如何從合併文件中看到哪個行來自哪個df?我猜如果我解決上述問題,這應該很容易看到空列。
我錯過了我的命令,但不知道是什麼。如果問題已在其他地方得到解答,那麼您是否還適合用R語言在英語中重新翻譯它?
謝謝!
數據例如:
df1:
customer_no country year
10 UK 2001
10 UK 2002
10 UK 2003
20 US 2007
30 AU 2006
df2:
customer_no income
10 700
10 800
10 900
30 1000
合併後的文件應該是這樣的:
merged.df:
customer_no income country year
10 UK 2001
10 UK 2002
10 UK 2003
10 700
10 800
10 900
30 AU 2006
30 1000
所以: 它把列一起,它的最後一個右後增加的DF2值基於相同的customer_no的df1並且僅匹配來自df2的customer_no(merged.df沒有customer_no 20)。另外,它會留下所有其他單元。
在STATA中,我使用append但不確定在R ...也許加入?
謝謝!
添加的數據。希望它足夠清楚......感謝您的幫助! – Billaus 2014-10-08 14:16:10
這看起來更像一個合併/加入,是否有美國入境退出的原因? – DMT 2014-10-08 14:22:10
DMT,是的原因是因爲它不在df2中。合併的df排除僅在df1中的值(不在df2中)。 – Billaus 2014-10-08 14:27:38