R找到列表的索引

时间:2015-08-26 10:50:06

标签: r list

我有一个字符列表,在一些代码行之后,我的列表中有一个零字符的元素。如何提取具有零字符的元素的索引? 原始列表

 blocks <- list(
                    c("A", "B"),
                    c("C","D", "E", "R", "T"),
                    c("X"),
                    c("N")
    )

已转换的列表

 blocks <- list(
                    character(0),
                    c("C","D", "E", "R", "T"),
                    c("X"),
                    c("N")
    )

2 个答案:

答案 0 :(得分:0)

不确定你想要什么,但我猜grep可以做到这一点:

  • 如果您想知道列表中的哪个元素是字母,请使用grep('A', block)

  • 如果您想知道一个字母在整个列表中的位置,您可以尝试grep('A', unlist(blocks))

  • 如果你想要别的东西,那就试试吧!

答案 1 :(得分:0)

如果我们想要获得具有character(0)的元素的逻辑索引,我们可以在第二个&#39;

上使用lengths
!lengths(blocks)
#[1]  TRUE FALSE FALSE FALSE

lengthssapply(blocks, length)的便捷包装器,速度更快。

lengths(blocks)
#[1] 0 5 1 1

为第一个length元素返回list 0。通过否定(!),0被强制转移到TRUE,其他所有被强制为FALSE