按r中的id组合具有不同长度的列

按r中的id组合具有不同长度的列,r,merge,R,Merge,我有两个包含公共“id”变量的数据集 dat1=data.frame(id = rep(1:3,3), var1 = c(1:9),var2=(11:19)) dat2=data.frame(id= c(1:3), var3=(2:4), var4=(50:52)) 我要做的是结合var1和var4的id。所以最终的数据集应该如下所示 dat3=cbind(dat1, var4=c(50,50,50,51,51,51,52,52,52)) 我认为merge

我有两个包含公共“id”变量的数据集

dat1=data.frame(id = rep(1:3,3), 
                var1 = c(1:9),var2=(11:19)) 
dat2=data.frame(id= c(1:3), var3=(2:4), var4=(50:52))
我要做的是结合var1和var4的id。所以最终的数据集应该如下所示

dat3=cbind(dat1, var4=c(50,50,50,51,51,51,52,52,52))
我认为
merge
函数不能合并列。
是否有任何函数可以简单地获取dat3?

您是否尝试过
merge(dat1,dat2,by='id',all.x=TRUE)
@DavidArenburg我刚刚注意到
merge
输出与预期输出不相似。因此,这不是一个骗局。