通过R中的多列外部连接2个数据帧

通过R中的多列外部连接2个数据帧,r,merge,outer-join,R,Merge,Outer Join,谁能帮我解释一下这个问题。我有两个数据帧:邮件发送:1901行和客户端返回:1663行。我想将这些数据帧合并在一起,发送的邮件中的所有行都应该显示出来 这两个数据帧有3个相同的列:客户端ID、活动名称、时间。我想基于上述3列合并2个数据帧。下面是我的代码 代码运行良好,但是,合并(mail_race)的结果是1663而不是1901。我希望它应该显示1901行,因为我在代码中提到了all.mail\u sent=all/all.mail\u sent=TRUE。合并似乎是内部连接而不是外部连接

谁能帮我解释一下这个问题。我有两个数据帧:邮件发送:1901行客户端返回:1663行。我想将这些数据帧合并在一起,发送的邮件中的所有行都应该显示出来

这两个数据帧有3个相同的列:客户端ID、活动名称、时间。我想基于上述3列合并2个数据帧。下面是我的代码

代码运行良好,但是,合并(mail_race)的结果是1663而不是1901。我希望它应该显示1901行,因为我在代码中提到了all.mail\u sent=all/all.mail\u 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)
mail\u race
试试这个,它可能会对你有所帮助
mail\u race
试试这个,它可能会对你有所帮助

邮件更改
all.mail\u sent=TRUE
all.x=TRUE
。有关详细信息,请参见函数中的参数名称永不更改。如果它适用于您,请将注释复制为答案并接受。将
all.mail\u sent=TRUE
更改为
all.x=TRUE
。有关详细信息,请参阅函数中的参数名称永不更改。如果它适用于您,请复制注释作为答案并接受它。
Try this one it may help you

mail_race<-merge(mail_sent,client_return_race,all.x = T ,all.y = T)