如何在列表列表中查找特定字符的索引?
How to find the index of a specific character in a list of lists?
我有一个这样的列表列表:
[[989]]
[1] "ARP5" "AGF"
[[990]]
[1] "CDT6" "AngX"
[[991]]
[1] "TD26" "RIFL"
[[992]]
[1] NA
[[993]]
[1] "SPH1"
[[994]]
[1] "FAP87" "CFAP87"
我想查询此列表以获取基因 == "FAP87" 所在的索引。
在这种情况下,索引将为 994。
Unlist 不起作用,因为它更改了索引号。
list %in% "FAP87" 不起作用,除非子列表的长度 == 1。(例如,list %in% "SPH1" 确实给我索引 993)。
如何访问列表列表中存在“FAP87”的索引?
使用循环
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)
我有一个这样的列表列表:
[[989]]
[1] "ARP5" "AGF"
[[990]]
[1] "CDT6" "AngX"
[[991]]
[1] "TD26" "RIFL"
[[992]]
[1] NA
[[993]]
[1] "SPH1"
[[994]]
[1] "FAP87" "CFAP87"
我想查询此列表以获取基因 == "FAP87" 所在的索引。
在这种情况下,索引将为 994。
Unlist 不起作用,因为它更改了索引号。
list %in% "FAP87" 不起作用,除非子列表的长度 == 1。(例如,list %in% "SPH1" 确实给我索引 993)。
如何访问列表列表中存在“FAP87”的索引?
使用循环
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)