You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中如何按行数对dataframe列表进行子集筛选

R列表dataframe按行数过滤方案

以下两种方法都可以实现按行数阈值筛选列表中的dataframe,你可以根据自己的使用习惯选择:

方法1:基础R实现(无需加载第三方包)

直接使用内置的Filter函数结合行数判断逻辑即可,针对你的示例,筛选行数大于1的dataframe代码如下:

# 阈值n可自行修改
n <- 1
filtered_list <- Filter(function(df) nrow(df) > n, my.list)

方法2:tidyverse生态purrr包实现

如果你日常使用tidyverse系列工具,用purrr::keep写法更简洁直观:

library(purrr)
n <- 1
filtered_list <- keep(my.list, ~ nrow(.x) > n)

如果需要反向剔除不符合要求的元素,也可以用对应的discard函数:

filtered_list <- discard(my.list, ~ nrow(.x) <= n)

结果验证

执行完筛选后可以用以下代码验证每个元素的行数是否符合预期:

sapply(filtered_list, nrow)
# 你的示例中输出为 3 3,对应d1、d3的行数,符合筛选要求

内容的提问来源于stack exchange,提问作者ML33M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:36:02