如何合并在所有列中但在不同位置具有相同值的两个不同长度的数据帧?
要合并所有列中具有相同值但位于不同位置的两个不同长度的数据帧,我们可以按照以下步骤操作-
首先,创建两个数据框。
然后,使用合并函数将它们合并,所有参数都设置为FALSE。
创建数据框
例子
让我们创建一个数据框,如下所示-
> x<-sample(1:5,20,replace=TRUE) > y<-sample(1:5,20,replace=TRUE) > z<-sample(1:5,20,replace=TRUE) > df1<-data.frame(x,y,z) > df1
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x y z 1 2 3 5 2 3 3 2 3 5 3 1 4 1 2 3 5 1 3 2 6 2 5 4 7 5 5 3 8 1 1 1 9 2 1 2 10 3 4 1 11 2 4 1 12 3 5 1 13 4 3 1 14 3 1 3 15 4 5 2 16 1 3 3 17 4 2 2 18 3 2 3 19 2 4 5 20 3 3 1
让我们创建一个数据框df2,如下所示-
例子
> x<-sample(1:5,20,replace=TRUE) > y<-sample(1:5,20,replace=TRUE) > z<-sample(1:5,20,replace=TRUE) > df2<-data.frame(x,y,z) > df2
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x y z 1 3 3 2 2 3 1 2 3 4 5 5 4 3 2 3 5 1 1 5 6 3 1 4 7 5 5 4 8 4 1 2 9 2 1 1 10 3 1 1 11 2 2 2 12 5 5 1 13 4 3 5 14 1 1 1 15 1 2 1 16 1 3 2 17 4 5 1 18 1 2 4 19 2 4 2 20 5 4 4
合并两个数据框
例子
使用合并功能合并df1和df2-
> DF<-merge(df1,df2,by=c("x","y","z"),all=FALSE) > DF
输出
x y z 1 1 1 1 2 1 3 2 3 3 2 3 4 3 3 2