我有一个数据框列表。有没有办法找到包含特定行名的数据框的索引?
例如,说我有
mylist<-list(
data.frame(c(1,1),c(1,1),row.names = c('row1','row2')),
data.frame(c(1,1),c(1,1),row.names = c('row3','row4'))
)
我想找到在哪里row3
,查询将返回 2,因为它在我列表中的第二个数据框中。
单程:
sapply(mylist, function(x)"row3" %in% rownames(x))
[1] FALSE TRUE
或同一主题的变体,NA
如果找不到行名,则返回,如果可以,则返回行号:
sapply(mylist, function(x)match("row3", rownames(x)))
[1] NA 1
尝试
> lapply(lapply(mylist,rownames),function(x){any(grepl('row3',x))})
[[1]]
[1] FALSE
[[2]]
[1] TRUE
#> seq_along(mylist)[sapply(lapply(mylist,rownames),function(x){any(grepl('row3',x))})]
#[1] 2
#>