我在 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
非常大,我需要一个更快的解决方案。(这里的列表甚至是正确的选择吗?)
最佳答案
我们可以使用 stack
与 identical
来自 base R
which(sapply(L, function(x) identical(stack(l), stack(x))))
#[1] 1
或更紧凑
which(sapply(L, identical, l))
#[1] 1
关于r - 为 R 中的列表列表中的列表提供正确匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65763762/