1

我有一个数据框列表。有没有办法找到包含特定行名的数据框的索引?

例如,说我有

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,因为它在我列表中的第二个数据框中。

4

2 回答 2

6

单程:

sapply(mylist, function(x)"row3" %in% rownames(x))
[1] FALSE  TRUE

或同一主题的变体,NA如果找不到行名,则返回,如果可以,则返回行号:

sapply(mylist, function(x)match("row3", rownames(x)))
[1] NA  1
于 2012-08-31T16:13:18.343 回答
0

尝试

> 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
#> 
于 2012-08-31T16:13:35.870 回答