合并R中没有公共列的两个 Dataframe

deikduxw  于 2023-03-10  发布在  其他
关注(0)|答案(2)|浏览(129)

我一直在尝试合并r中两个列不同的 Dataframe 。我得到的输出是一个额外的行集合和重复值。我的尝试如下所示,欢迎编辑代码。

df1 <- data.frame(A=c("A","B", "C", "D", "E"),
                  B=c(7, 9, 8, 3, 2),
                  C=c(3, 5, 2, 9, 9))

df2 <- data.frame(D=c(1, 3, 3, 4, 5),
                  E=c(7, 7, 8, 3, 2))

df3<-merge(x=df1, y=df2, by=NULL)

这是可行的,但现在输出给我5个变量的25个观察值。其中是一个额外的行集,就像一个副本。(免责声明这不是整个数据集,只是它的子集)。

A     B     C     D     E  
1 A      7      3     1     7 
2 B      9      5     1     7 
3 C      8      2     1     7
4 D      3      9     1     7 
5 E      2      9     1     7 
6 A      7      3     3     7 
7 B      9      5     3     7 
8 C      8      2     3     7

我想要的输出如下所示(5个观察值和5个变量),其中我没有额外的一组行和重复值。

A     B     C     D     E  
1 A      7      3     1     7 
2 B      9      5     3     7 
3 C      8      2     3     8
4 D      3      9     4     3 
5 E      2      9     5     2
h43kikqp

h43kikqp1#

正如前面提到的一些注解一样,您可以使用cbind()来完成此操作。

df3 <- cbind(df1, df2)
qnakjoqk

qnakjoqk2#

由于 * cbind数据框方法只是data.frame(..., check.names = FALSE)的一个 Package 器 *,您还可以用途:

df3 <- data.frame(df1, df2, check.names = FALSE)
#df3 <- data.frame(df1, df2) #Alternative

df3
#  A B C D E
#1 A 7 3 1 7
#2 B 9 5 3 7
#3 C 8 2 3 8
#4 D 3 9 4 3
#5 E 2 9 5 2

相关问题