【发布时间】:2016-05-18 12:25:01
【问题描述】:
谁能帮我解释一下这个问题。我有 2 个数据框:mail_sent:1901 行 和 client_return_race:1663 行。我想将这些数据框合并在一起,并且应该显示 mail_sent 中的所有行。
这 2 个数据框有 3 个相同的列:CLIENT_ID、CAMPAIGN_NAME、TIME。我想根据上面的 3 个相同的列合并 2 个数据框。以下是我的代码。
代码运行良好,但是合并 (mail_race) 的结果是 1663 而不是 1901。我希望它应该显示 1901 行,因为我在代码中提到了 all.mail_sent=all/all.mail_sent=TRUE。似乎合并是内连接而不是外连接。
mail_race<-merge(mail_sent,client_return_race,by.mail_sent=c("CLIENT_ID","CAMPAIGN_NAME","TIME"),
by.client_return_race=c("CLIENT_ID","CAMPAIGN_NAME","TIME")
,all.mail_sent=TRUE)
【问题讨论】:
-
将
all.mail_sent=TRUE更改为all.x=TRUE。有关详细信息,请参阅How to join (merge) data frames (inner, outer, left, right)? -
参数名称在函数内永远不会改变。
-
如果对您有用,请将评论复制为答案并接受。
标签: r merge outer-join