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

如何用R代码实现文献关键词检索及分类标记?

用R实现文献关键词分类的步骤

1. 安装并加载必要的R包

你需要两个核心包:readxl用来读取Excel文件,stringr用来处理文本匹配。在R控制台执行以下代码:

# 安装包(仅第一次需要)
install.packages(c("readxl", "stringr"))

# 加载包
library(readxl)
library(stringr)

2. 读取你的文献Excel数据

把你的Excel文件路径替换到下面的代码里(如果文件和R工作目录在同一个文件夹,直接写文件名就行):

# 读取Excel数据
lit_data <- read_excel("你的文献数据.xlsx")

执行后可以用head(lit_data)查看前几行数据,确认标题、摘要字段的列名和你Excel里的一致(比如列名是“标题”“摘要”,代码里就要对应)。

3. 定义你的关键词列表

把需要匹配的心理学关键词放进向量里,比如:

# 替换成你的关键词
keywords <- c("正念", "认知行为疗法", "抑郁", "焦虑")

如果关键词里有特殊字符(比如括号、加号),要在前面加双反斜杠转义,比如"认知行为疗法(CBT)"要写成"认知行为疗法\\(CBT\\)"。

4. 生成关键词分类标记

用文本匹配函数判断每篇文献的标题或摘要是否包含任意关键词,生成“含关键词”/“不含关键词”的标记:

# 生成分类列
lit_data$关键词标记 <- ifelse(
  # 标题包含任意关键词 或者 摘要包含任意关键词
  str_detect(lit_data$标题, regex(paste(keywords, collapse = "|"), ignore_case = TRUE)) |
  str_detect(lit_data$摘要, regex(paste(keywords, collapse = "|"), ignore_case = TRUE)),
  "含关键词",
  "不含关键词"
)
  • paste(keywords, collapse = "|"):把关键词用|连接成正则表达式,意思是“匹配任意一个关键词”
  • regex(ignore_case = TRUE):忽略大小写,比如“Depression”和“depression”都会被匹配到
  • ifelse:根据匹配结果生成对应的分类文本

5. 保存分类后的结果

把处理好的数据保存回Excel(需要先安装writexl包),或者保存成CSV:

# 安装writexl包(仅第一次需要)
install.packages("writexl")
library(writexl)

# 保存为Excel文件
write_xlsx(lit_data, "分类后的文献数据.xlsx")

# 或者保存为CSV(不需要额外包)
write.csv(lit_data, "分类后的文献数据.csv", row.names = FALSE)

小提示

  • 先拿少量数据测试代码,确认匹配逻辑没问题再处理全量数据
  • 如果摘要内容很长,str_detect也能正常处理,不用担心性能问题

内容的提问来源于stack exchange,提问作者Pál Kolumbán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:22:10