如何用bibliometrix读取多个Scopus Bib文件并合并为单个向量?
如何用bibliometrix读取多个BibTeX文件并生成单个向量?
你之前用rbindlist+fread的思路走偏啦——fread是用来处理表格类数据的,而BibTeX是纯文本格式的文献条目,这么读自然会把各种字段拆成一堆列,完全不符合bibliometrix的要求。
其实bibliometrix的readFiles函数本身就支持读取多个文件,根本不需要额外的拼接操作,直接给它传一个包含所有文件路径的向量就行,步骤很简单:
- 先获取目标文件夹里所有
.bib文件的完整路径; - 把这个路径向量直接传给
readFiles,它会自动把所有文件的内容合并成一个单个的文本向量,和官方示例里的D完全一致。
直接看代码:
library(bibliometrix) # 获取指定文件夹下所有BibTeX文件的完整路径 filenames <- list.files("C:/Users/bibtexscopus", pattern = "\\.bib$", full.names = TRUE) # 读取多个文件并生成单个文本向量 D <- readFiles(filenames)
如果之后需要把这个向量转换成可分析的数据框,只需要再调用convert2df函数就行:
bib_df <- convert2df(D, dbsource = "scopus", format = "bibtex")
这样就完全贴合bibliometrix的标准工作流啦,不会出现列数爆炸的问题。
内容的提问来源于stack exchange,提问作者Elr Mant
相关产品推荐
相关产品推荐

