Bibliometrix包共被引参考簇如何关联到原始施引文献?
实现方法
可以通过字段匹配完成关联,具体操作步骤如下:
- 首先提取各聚类包含的共被引参考文献集合
# 批量提取三个聚类的参考文献列表,返回列表格式,三个元素分别对应三个聚类 cluster_refs <- lapply(net$cluster_obj, function(clu) names(clu))
- 定义匹配函数,从原始文献数据框M中筛选引用过目标聚类参考文献的施引文献
# 函数入参:target_refs为目标聚类的参考文献向量,M_data为原始文献数据框 # 返回值:逻辑向量,长度等于M的行数,TRUE表示对应行的文献引用过目标聚类的参考文献 get_citing_index <- function(target_refs, M_data) { # 拆分每篇施引文献的参考文献字段,判断和目标参考文献是否有交集 sapply(strsplit(M_data$CR, split = "; "), function(paper_refs) { any(paper_refs %in% target_refs) }) } # 分别获取三个聚类对应的施引文献行索引 idx_clu1 <- get_citing_index(cluster_refs[[1]], M) idx_clu2 <- get_citing_index(cluster_refs[[2]], M) idx_clu3 <- get_citing_index(cluster_refs[[3]], M)
- 提取你需要的施引文献属性
# 提取聚类1对应施引文献的标题 TI_clu1 <- M$TI[idx_clu1] # 提取聚类1对应施引文献的行名 rownames_clu1 <- rownames(M)[idx_clu1] # 其余聚类同理替换索引即可 TI_clu2 <- M$TI[idx_clu2] rownames_clu2 <- rownames(M)[idx_clu2] TI_clu3 <- M$TI[idx_clu3] rownames_clu3 <- rownames(M)[idx_clu3]
补充说明
如果需要筛选引用了目标聚类内N篇及以上参考文献的施引文献,只需要修改匹配函数内的判断逻辑即可,比如要求至少引用2篇的话,把any(paper_refs %in% target_refs)替换为sum(paper_refs %in% target_refs) >= 2即可。
由于bibliometrix处理过程中参考文献的字符串格式完全统一,不需要额外做格式校正即可直接匹配。
内容的提问来源于stack exchange,提问作者skh
相关产品推荐
相关产品推荐

