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

如何在R语言中循环打印数据框列表的名称及行数?

解决R语言遍历数据框列表并打印名称和行数的问题

你的代码问题在于循环时直接遍历了列表中的数据框对象,无法关联到它在列表里的名称。下面提供两种可行的解决方法:

方法一:基础R循环(遍历列表名称)

library(tidyverse)

data(Affairs, BankWages)
df_list <- list(Affairs, BankWages)
names(df_list) <- c("Affairs", "BankWages")

for (name in names(df_list)) {
  row_count <- nrow(df_list[[name]])
  cat(sprintf("数据框 %s 包含 %d 条观测\n", name, row_count))
}

运行后输出:

数据框 Affairs 包含 601 条观测
数据框 BankWages 包含 474 条观测

这里直接遍历列表的名称向量,通过名称取出对应数据框,再获取行数并格式化输出。

方法二:tidyverse风格(用imap函数)

如果你习惯tidyverse的函数式编程,可以用imap——它专门处理带名称的列表,自动传递元素和对应的名称:

library(tidyverse)

data(Affairs, BankWages)
df_list <- list(Affairs, BankWages)
names(df_list) <- c("Affairs", "BankWages")

imap(df_list, ~ sprintf("数据框 %s 包含 %d 条观测", .y, nrow(.x))) %>% 
  cat(sep = "\n")

其中.x指代列表中的每个数据框,.y指代对应的名称,一行代码就能完成遍历和输出。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:05:26