【发布时间】:2018-12-02 12:29:24
【问题描述】:
我有两个从
创建的列表 x 和 yx1 = list(c(1,2,3,4))
x2 = list(c(seq(1, 10, by = 2)))
x<- list(x1,x2)
x
[[1]]
[[1]][[1]]
[1] 1 2 3 4
[[2]]
[[2]][[1]]
[1] 1 3 5 7 9
和y,
y1 = list(c(5, 6, 7, 8))
y2 = list(c(9, 7, 5, 3, 1))
y <- list(y1, y2)
y
[[1]]
[[1]][[1]]
[1] 5 6 7 8
[[2]]
[[2]][[1]]
[1] 9 7 5 3 1
所以基本上,我想将 x 匹配到 y 中,所以我应该让 '1 3 5 7 9' 实际上是一个匹配。我也需要索引。
我已经尝试过,我想匹配这些值,而不管每个 x[[ ]] 与每个 y[[ ]] 的位置如何。
Matches <- x[x %in% y]
IDX <- which(x %in% y)
这不起作用....
我想要一些可以返回相同元素匹配的东西,而不管每个列表的位置如何。这将是我需要的一个粗略的想法......
matches
[1] False
[1] 1 3 5 7 9
提前致谢,感谢所有帮助。
【问题讨论】:
-
如果您可以为您的数据子集提供一个可重现的示例,这将有助于人们解决您的问题并阐明您的意思是“匹配可能位于不同位置的确切元素”。谢谢:)
-
如果你想匹配
x和y为什么不先匹配unlist呢?还是要匹配x[[1]]和y[[1]]等?
标签: r list matching nested-lists