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

如何按年份分组统计指定字符串在字符串列表中的出现次数

实现方案

首先确保已加载data.table包:

library(data.table)

按以下步骤操作即可得到目标结果:

  1. 先展开name表的name0列表列,将每个年份对应的多个关键词拆分为单独行
  2. 聚合text表,把同一年份下所有text0的字符串汇总为单个向量
  3. 两张表按年份关联后分组统计匹配次数

完整代码如下:

# 展开name表的列表列
name_long <- name[, .(name0 = unlist(name0)), by = year]

# 按年份聚合所有text字符串
text_agg <- text[, .(text_item = unlist(text0)), by = year]

# 关联后统计匹配次数
result <- name_long[text_agg, on = .(year), allow.cartesian = TRUE
  ][, .(count = sum(grepl(name0, text_item, fixed = TRUE))), by = .(year, name0)]

代码中fixed = TRUE参数用于避免name0包含正则特殊字符时出现匹配错误,你的场景不加也可得到正确结果,加上更稳妥。运行上述代码得到的结果与你给出的示例result完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:24:03