【发布时间】:2021-12-31 10:17:57
【问题描述】:
有 2 个数据集
s=structure(list(var1 = c("a", "f", "k", "tt", "ee"), var2 = c("b",
"g", "l", "qq", "rr"), var3 = c("c", "h", "m", "ff", "cc"), var4 = c("d",
"i", "n", "gg", "vv"), var5 = c("e", "j", "o", "aa", "xx"), metric_var = c(100L,
200L, 300L, 567L, 789L)), class = "data.frame", row.names = c(NA,
-5L))
和
medagger=structure(list(var1 = c("a", "z", "w", "f", "k"), var2 = c("b",
"u", "e", "g", "l"), var3 = c("c", "p", "r", "h", "m"), var4 = c("d",
"q", "q", "i", "n"), var5 = c("e", "n", "w", "j", "o"), metric_var = c(100L,
200L, 400L, 500L, 700L)), class = "data.frame", row.names = c(NA,
-5L))
var1-var5 是分类变量,它们的值是分类。
如果我们做一个内部连接 s 和一个 medagger 我们得到这个结果
merge(s,medagger,by=c("var1","var2","var3","var4","var5"))
var1 var2 var3 var4 var5 metric_var.x metric_var.y
1 a b c d e 100 100
2 f g h i j 200 500
3 k l m n o 300 700
只返回 3 行,因为在这些数据集中有相同的类别。
但是,我需要 s 数据集中但 medagger 数据集中没有的类别
被放在单独的数据框中。
在这种情况下,我需要出现 new 数据框,它将仅包含来自 s 的这些行中的 2 行。
var1 var2 var3 var4 var5 metric_var
tt qq ff gg aa 567
ee rr cc vv xx 789
如何使s 中但不在medagger 中的类别出现在new 数据框中?
谢谢。
【问题讨论】:
-
这能回答你的问题吗? "Not Join" in R