我有两个具有不同名称和值集的字符向量:
x <- c("a", "b", "c", "d", "e")
names(x) <- c("foo", "bar", "baz", "qux", "grault")
y <- c("c", "a", "d", "b")
names(y) <- c("bar", "foo", "qux", "corge")
Run Code Online (Sandbox Code Playgroud)
有没有办法比较x,y所以我们知道它们对应于名称的值bar是不同的,因为这里x.bar = "b"和y.bar = "c"?请注意,这些名字并未订购.我试过setdiff,which(x != y)但没有人给我正确的答案.谢谢!
你可以这样做:
x[intersect(names(x), names(y))] == y[intersect(names(x), names(y))]
Run Code Online (Sandbox Code Playgroud)