为R中的列表列表中的列表提供正确匹配

我在 R 中有一个列表列表:

a <- list(x=0, y=c(1,2,3), z=4)
b <- list(x=1, y=c(1,2,3), z=44)
c <- list(x=2, y=c(1,2,3), z=444)
L <- list(a,b,c)

对于给定的列表,说

l <- list(x=0, y=c(1,2,3), z=4)

我知道想要找到L我们找到等于 的相应列表的正确索引l

当然,我可以使用循环,但由于L它非常大,我需要一个更快的解决方案。(这里的列表甚至是正确的选择吗?)

回答

我们可以使用stackidenticalbase R

which(sapply(L, function(x) identical(stack(l), stack(x))))
#[1] 1

或更紧凑

which(sapply(L, identical, l))
#[1] 1


以上是为R中的列表列表中的列表提供正确匹配的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>