【发布时间】:2020-10-14 12:16:04
【问题描述】:
我有两个相同行大小和不同列号的数据框,列的名称也不同,但其中一些内容可能相似。
即df1:
df1<- data.frame("a"=c("0","1","0","1","0","0","0"),
"b"=c("1","1","1","1","1","0","0"),
"c"=c("1","1","0","0","1","0","0"),
"d"=c("1","1","1","1","1","1","1"))
df2:
df2<- data.frame("e"=c("1","1","0","1","0","0","0"),
"f"=c("1","1","1","1","1","0","0"),
"g"=c("0","0","0","0","1","0","0"),
"h"=c("0","0","0","0","1","1","1"))
如果您看到,df1 的“b”列和 df2 的“f”列相等。因此,我想要的结果是一个如下所示的新数据框:
df3 <- data.frame("a"=c("0","1","0","1","0","0","0"),
"c"=c("1","1","0","0","1","0","0"),
"d"=c("1","1","1","1","1","1","1"),
"e"=c("1","1","0","1","0","0","0"),
"g"=c("0","0","0","0","1","0","0"),
"h"=c("0","0","0","0","1","1","1"))
注意:列“b”和“f”(相似)不在新的 df3 中。 我在网上查看过,但我没有找到一个例子。我认为主要的复杂性在于合并是按内容而不是按列名。
【问题讨论】:
-
您不能合并然后使用
df3[, -c(2, 3)]删除它们吗,括号中的数字表明要删除哪些列。虽然,您可能想要一个多合一的功能来提供您的建议? -
嗨 Lime,问题是我的数据框比这个简化的示例大(大约 2000 行乘以 10000 列 df1,2000 行乘以 100 列 df2)。所以我无法直观地识别哪些列是相似的。