无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
相关产品推荐
相关产品推荐

