【问题标题】:How to find the index of a specific character in a list of lists?如何在列表列表中查找特定字符的索引?
【发布时间】:2021-12-24 06:28:38
【问题描述】:

我有一个这样的列表:


[[989]]
[1] "ARP5" "AGF" 

[[990]]
[1] "CDT6" "AngX"

[[991]]
[1] "TD26" "RIFL"

[[992]]
[1] NA

[[993]]
[1] "SPH1"

[[994]]
[1] "FAP87"  "CFAP87"

我想查询此列表以获取基因 == "FAP87" 的索引。

在这种情况下,索引为 994。

取消列出不起作用,因为它会更改索引号。

list %in% "FAP87" 不起作用,除非子列表的长度 == 1。(例如,list %in% "SPH1" 确实给了我索引 993)。

如何访问列表列表中存在“FAP87”的索引?

【问题讨论】:

    标签: r list indexing


    【解决方案1】:

    使用循环

    which(sapply(list, function(x) "FAP87" %in% x))
    

    或者另一个选项是enframe(来自tibble)到一个两列数据集,filter 行和pull name 列(这将是序列值,因为list 未命名)

    library(tibble)
    library(dplyr)
    library(tidyr)
    enframe(list) %>% 
       unnest(value) %>%
       filter(value %in% 'FAP87') %>%
       pull(name)
    

    【讨论】:

      猜你喜欢
      • 2021-01-05
      • 2013-05-08
      • 1970-01-01
      • 2020-02-25
      • 2015-07-01
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 2019-04-29
      相关资源
      最近更新 更多