R数据帧使用多个命令进行合并

时间:2017-03-28 05:31:36

标签: r dataframe merge

在R中,我有两个数据帧DF1

    userID     day     task     
1    h32       150      4
2    d87       150      3
3    d87       151      4
4    d87       152      3
5    j22       150      7
6    j22       151      3

和DF2

    userID     day     value     
1    h32       150      yes
2    d87       150      no
3    d87       151      no
4    d87       152      no
5    j22       150      yes
6    j22       151      yes

我试图将它们合并以创建看起来像

的DF
    userID     day    task    value     
1    h32       150     4       yes
2    d87       150     3       no
3    d87       151     4       no
4    d87       152     3       no
5    j22       150     7       yes
6    j22       151     3       yes

所以我想要像

这样的东西
DF <- merge( DF1, DF2, by="userID" THEN by="day")

即。我怎么能编码

THEN by="day"

参与R?

1 个答案:

答案 0 :(得分:0)

尝试从前两个变量创建一个密钥

DF1$newkey=paste(DF1$userid,DF$1day)
DF2$newkey=paste(DF2$userid,DF$2day)

现在通过此键合并

df <- merge(df1, df2, by=newkey)

df$newkey=NULL #delete new key