对于您以后的问题,请避免使用屏幕截图并使用该功能分享实际对象dput()。
您可以使用purrr::keep():
library(tidyverse)
f=function(n) matrix(nrow=2, ncol=n) %>% as.data.frame()
x=list(
df1=f(15),
df2=f(15),
df3=f(6),
df4=f(6),
df5=f(15)
)
x %>% keep(~ncol(.x)==15)
#> $df1
#> V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15
#> 1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
#> 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
#>
#> $df2
#> V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15
#> 1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
#> 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
#>
#> $df5
#> V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15
#> 1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
#> 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Run Code Online (Sandbox Code Playgroud)
由reprex 包于 2021 年 10 月 3 日创建(v2.0.0)
(管道时第一个)的第二个参数purrr::keep()是一个谓词函数,它应该根据是否应保留列返回单个逻辑值。