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

无bib文件时,如何用bibliometrix分析CSV格式文献计量数据?

解决bibliometrix分析自定义CSV文献数据的方法

针对你这种非Web of Science API导出的CSV数据,可通过以下几种方式适配bibliometrix的分析要求:

1. 补充核心BibTeX字段后直接转换

bibliometrix的convert2df函数支持自定义CSV输入,但需要部分核心字段确保分析功能正常运行。你可以手动补充缺失的标准BibTeX字段,即使部分字段无数据也可设为NA:

library(bibliometrix)
library(dplyr)

# 你的原始数据
df = data.frame(AU = 'Down, Andrea K.; Williams, Christopher D.; Wittenberg-Moerman, Regina',
                TI = 'Strategic syndication: is bad news shared in loan syndicates',
                SO = 'REVIEW OF ACCOUNTING STUDIES',
                C1 = '[Down, Andrea K.] Univ Toronto, Rotman Sch Management & UTSC Management, 105 St George St, St George, ON M5S 3E6, Canada; [Williams, Christopher D.; Down, Andrea K.] Univ Michigan, Ross Sch Business, 701 Tappan St, Ann Arbor, MI 48109 USA; [Wittenberg-Moerman, Regina] Univ Southern Calif, Marshall Sch Business, 3670 Trousdale Pkwy, Los Angeles, CA 90089 USA',
                stringsAsFactors = FALSE)

# 补充核心缺失字段(根据实际数据替换NA为对应值)
df <- df %>%
  mutate(
    PY = NA_integer_,  # 出版年份
    VL = NA_character_, # 卷号
    IS = NA_character_, # 期号
    BP = NA_character_, # 起始页码
    EP = NA_character_, # 结束页码
    DOI = NA_character_,# DOI
    UT = paste0("UT-", row_number()) # 生成唯一标识(替代WOS的UT字段)
  )

# 转换为bibliometrix兼容对象
bib_df <- convert2df(df, dbsource = "custom", format = "csv")

# 执行基础分析
M <- biblioAnalysis(bib_df)
summary(M)

2. 将CSV转换为标准BibTeX文件后导入

先把CSV数据转换成标准BibTeX格式,再用bibliometrix读取,这种方式兼容性最好:

library(bibtex)
library(bibliometrix)

# 预处理原始数据(先补充必要字段,同方案1)
df <- df %>%
  mutate(
    PY = NA_integer_,
    VL = NA_character_,
    IS = NA_character_,
    BP = NA_character_,
    EP = NA_character_,
    DOI = NA_character_
  )

# 生成BibTeX条目列表
bib_entries <- list()
for(i in 1:nrow(df)){
  entry <- list(
    bibtype = "article",
    key = paste0("study-", i),
    author = gsub(";", " and ", df$AU[i]),  # 转换为BibTeX作者格式
    title = df$TI[i],
    journal = df$SO[i],
    year = ifelse(is.na(df$PY[i]), "n.d.", as.character(df$PY[i])),
    volume = df$VL[i],
    number = df$IS[i],
    pages = ifelse(!is.na(df$BP[i]) & !is.na(df$EP[i]), paste(df$BP[i], df$EP[i], sep="-"), NULL),
    doi = df$DOI[i]
  )
  # 移除空值字段
  entry <- entry[!sapply(entry, function(x) is.null(x) || is.na(x))]
  bib_entries[[i]] <- entry
}

# 写入BibTeX文件
write.bib(bib_entries, file = "custom_library.bib")

# 用bibliometrix读取并转换
bib_data <- readFiles("custom_library.bib")
bib_df <- convert2df(bib_data, dbsource = "wos", format = "bibtex")

# 后续分析操作
M <- biblioAnalysis(bib_df)
plot(M)

3. 保留非标准字段用于自定义分析

你的数据中的机构隶属ID等非标准字段,可直接保留在数据框中。完成convert2df转换后,这些字段会被保留在bib_df中,后续可通过常规数据处理函数(如dplyr)进行自定义分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 05:14:51