如果 R 包包含 bibtex 格式的引文,您可以提取标题,然后收集每个引用的引文,如您发布的链接所示。此示例提取 CRAN 上的所有包并检查引用信息:
library(httr)
library(RCurl)
library(XML)
urldata <- getURL("https://cran.r-project.org/web/packages/available_packages_by_date.html")
CRAN <- readHTMLTable(urldata,
stringsAsFactors = FALSE)
CRAN_packages <- CRAN[["NULL"]][[" Package "]]
packages_df <- as.data.frame(CRAN_packages,
stringsAsFactors = FALSE)
list_of_citations <- NULL
for (f in 1:nrow(packages_df)) {
tryCatch({
list_of_citations <<- append(list_of_citations,
citation(package = packages_df$CRAN_packages[f],
auto = TRUE))
}, error=function(e){
cat(paste("No citations available for package",
packages_df$CRAN_packages[f],
sep = " "),
conditionMessage(e), "\n")
})
}
list_of_citations$title
有趣的是,在 CRAN 上的 15,556 个软件包中,很少有格式正确的引用信息可用......其他人已经指出了这个问题(例如https://stat.ethz.ch/pipermail/r-devel/2010-November/058977 .html)但问题尚未解决(或者我的代码可能没有全部捕获)