首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中创建bib_text引用?

在R中创建bib_text引用?
EN

Stack Overflow用户
提问于 2019-03-13 18:39:24
回答 1查看 30关注 0票数 1

在R中使用help函数有时会包含一个类似于APA格式的引文。例如,igraph中的closeness函数具有。

代码语言:javascript
复制
?closeness
Freeman, L.C. (1979). Centrality in Social Networks I: Conceptual Clarification. Social Networks, 1, 215-239.

我是用RMarkdown写的,我想用R为这篇引文创建一个Bibtext风格的格式(也就是说,不要从其他来源获取它)。这个是可能的吗?

例如,下面这样的函数:

代码语言:javascript
复制
cit <- some_function('Freeman, L.C. (1979). Centrality in Social Networks I: 
 Conceptual Clarification. Social Networks, 1, 215-239.')

cit 

@article{freeman1978conceptual,
  title={conceptual clarification.” Social Networks},
  author={Freeman, Linton C},
  journal={“Centrality in social networks},
  volume={1},
  number={3},
  pages={215--239},
  year={1978}
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-13 19:11:13

周围有一个函数,getHTMLhelp(),它可以抓取文档。

在它的帮助下,您可以将所需的信息放入向量中。

代码语言:javascript
复制
vec <- getHTMLhelp(closeness, package="igraph")[102:103]

因为它包含html标记,所以您可能希望将其从其中清除并获取单个字符串。

代码语言:javascript
复制
string <- gsub("<[^>]*>","", paste(vec, collapse=""))

然后你可以像这样拆分:

代码语言:javascript
复制
rw <- t(strsplit(string, "\\. ")[[1]])
yr <- gsub("\\D", "", rw[2])
ref <- paste0(strsplit(tolower(rw[1]), ",")[[1]][1], yr,
              strsplit(tolower(rw[3]), " ")[[1]][1])
jrnl <- strsplit(rw[4], ", ")[[1]]

现在cat它。

代码语言:javascript
复制
cat(paste0("@article{", ref,"," ,
           "\n\ttitle={", rw[3], "},",
           "\n\tauthor={", rw[1], "},",
           "\n\tjournal={", jrnl[1], "},",
           "\n\tvolume={", jrnl[2], "},",
           "\n\tpages={", gsub("\\.", "", jrnl[3]), "},",
           "\n\tyear={", yr, "}",
           "\n}"
))

结果

代码语言:javascript
复制
@article{freeman1979centrality,
    title={Centrality in Social Networks I:Conceptual Clarification},
    author={Freeman, L.C},
    journal={Social Networks},
    volume={1},
    pages={215-239},
    year={1979}
}

当然,这现在与您的示例特别相关,需要进一步推广。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55139884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档