如何从 R 中的数据帧列表中 select 行

How to select row from a list of dataframes in R

我有 10 个数据帧的列表,我想 select 每个数据帧的一行按名称。 列的名称是名称。我想 select name=Ready 的每一行。

我尝试了一些方法。如果我说出确切的行号(这里是 2),这是可行的:

lapply(list, `[` ,c(2),)

但是由于数据框中的行号不同,我会应用像 name=Ready:

这样的东西
lapply(list, `[` ,c(Ready),)

您可以将 lapply 用作 -

lapply(list, function(x) x[x$name == 'Ready', ])

会产生相同结果的其他几个替代方案

lapply(list, subset, name == 'Ready')

#tidyverse
library(dplyr)
library(purrr)

map(list, ~.x %>% filter(name == 'Ready'))

我们可以在 base R

中使用 subset
lapply(list, subset, subset = name == 'Ready')