r - 根据 R 中表格的列数过滤列表

我有一个这样的数据框列表: 我想知道如何在 R 中保留 15 列的数据框并删除此列表中的其他数据框。

最佳答案

对于您以后的问题,请避免截图并使用 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

由 reprex package 创建于 2021-10-03 (v2.0.0)

purrr::keep() 的第二个参数(管道时第一个参数)是一个谓词函数,它应该根据是否保留该列返回一个逻辑值。

https://stackoverflow.com/questions/69424134/

相关文章:

c# - 如何在 dotnet 中将 ""解析为 long ("0")

list - Groovy:比较列表忽略其中元素的顺序

python - Pytorch 与转置之间的不同输出

reactjs - 保存我的代码时 Eslint 配置错误

php - 我们在 PHP 数组中称这个符号 => 什么?

go - panic : errors: *target must be interface or

arrays - 当我尝试初始化 100 个元素的一维数组并使用指针填充它时出现段错误(核心已转储)

reactjs - 路由在 webpack + react 项目中不起作用

python - 使用 matplotlib 3.3+ 更改颜色条限制以更改比例

c - 为什么这种 strcpy 的使用被认为是错误的?