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

R语言如何解决循环统计PDF作者次数赋值表格列返回NULL问题

问题原因

R中的for循环不会返回计算结果,直接将for循环赋值给author$count列,最终只能得到NULL值。

修复方案

两种常用的修复方式均可实现需求:

  • 方案1:调整原有for循环逻辑
    不要直接赋值整个for循环,改为在循环内部逐行赋值:
# 提前加载依赖包
library(stringr)

author$count <- 0
for (i in seq_along(author$name)) {
  current_name <- author$name[i]
  author$count[i] <- sum(str_count(pdf, current_name))
}
  • 方案2:使用向量化函数计算(更符合R的代码风格,代码更简洁)
    不需要提前初始化count列,直接用sapply遍历计算即可:
library(stringr)
author$count <- sapply(author$name, function(x) sum(str_count(pdf, x)))
注意事项
  • 如果存在大小写不匹配导致漏统计的情况,可以将匹配内容统一转换为小写/大写再统计,示例:sum(str_count(tolower(pdf), tolower(x)))
  • 若作者姓名存在特殊正则字符(比如.、*等),可以加fixed()包裹匹配文本,避免正则解析错误:sum(str_count(pdf, fixed(x)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:27:03