从 R 中的数据帧列表中进行子集化

Muh*_*mil 2 r list dataframe tidyverse

我有一个数据框列表:

df1 <- data.frame(c(1:5), c(6:10))
df2 <- data.frame(c(1:7))
df3 <- data.frame(c(1:5), c("a", "b", "c", "d", "e"))
my_list <- list(df1, df2, df3)
Run Code Online (Sandbox Code Playgroud)

我想从 my_list 中提取只有 2 列(df1 和 df3)的数据帧,并将它们放入一个新列表中。

Tho*_*ing 5

也许你可以尝试lengths

> my_list[lengths(my_list) == 2]
[[1]]
  c.1.5. c.6.10.
1      1       6
2      2       7
3      3       8
4      4       9
5      5      10

[[2]]
  c.1.5. c..a....b....c....d....e..
1      1                          a
2      2                          b
3      3                          c
4      4                          d
5      5                          e
Run Code Online (Sandbox Code Playgroud)