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

R语言如何编写循环批量统计不同数据表指定列的词频

R语言多表批量词频统计实现方案

实现逻辑

  • 将所有待处理数据表归集为列表,避免逐个调用
  • 把单表处理逻辑封装为可复用的自定义函数
  • 用purrr包的批量映射能力一次性处理所有表

具体代码

首先加载依赖包:

library(dplyr)
library(tidytext)
library(purrr)

步骤1:批量归集数据表

如果你的15张表命名符合Table1到Table15的规律,可以直接从全局环境批量抓取:

# 匹配所有命名为Table加数字的表,存入列表
table_list <- mget(ls(pattern = "^Table\\d+$"))

如果表名没有规律,也可以手动构造列表:

table_list <- list(表1名 = 表1对象, 表2名 = 表2对象, ..., 表15名 = 表15对象)

步骤2:封装单表处理函数

把你原来的单表处理逻辑封装成函数:

count_word_freq <- function(input_df) {
  input_df %>%
    unnest_tokens(word, text) %>%
    anti_join(stop_words, by = "word") %>%
    count(word, sort = TRUE)
}

步骤3:批量执行处理

执行以下代码即可得到所有表的词频统计结果:

# 返回结果为列表,每个元素对应一张原表的词频统计结果
all_freq_result <- map(table_list, count_word_freq)

结果使用说明

  • 要提取原Table1的词频结果,直接调用all_freq_result[["Table1"]]即可
  • 如果你需要把所有表的词频结果合并为一张总表,额外新增列标记数据所属原表,可以改用map_dfr:
all_freq_combined <- map_dfr(table_list, count_word_freq, .id = "source_table")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:15:03