如何在R Markdown中将对象转换为超链接[关闭]

问题描述 投票:0回答:1

我有一个循环,它产生许多不同的HTML R Markdown,它们具有相同的变量但结果不同(基于单个.Rmd)。

我想插入一个外部网站的超链接,其中唯一改变的是我正在处理的每个主题的名称。为此,需要有能够在整个循环中改变的东西。然而,R Markdown的链接结构只允许直接链接。

循环脚本呈现文件:

names <- c(name1, name2, name3)

for (name in names){
  rmarkdown::render('document.Rmd',
                    output_file =  paste("document", name, ".html", sep=''))
}

对于documentname1.html,后面的超链接代码是:

[External Website](http://website.com/name1.html)

对于documentname2.html,后面的超链接代码是:

[External Website](http://website.com/name2.html)

等等。

如何创建URL引用我的Rmd基本文件中的对象的链接结构,或者是否有替代方法,例如可用于此案例的HTML语法?

html r hyperlink r-markdown
1个回答
1
投票

sed直截了当的方式:

library(rmarkdown)
for(name in names) {
    system(paste0("sed \'s/MYNAME/", name, "/g\' ", "document.Rmd > foo.Rmd"))
    render("foo.Rmd", output_file =  paste0("document", name, ".html"))
    unlink("foo.Rmd")
}

在你的参考document.Rmd[External Website](http://website.com/MYNAME.html)并在每次迭代使用MYNAME替换namesed

© www.soinside.com 2019 - 2024. All rights reserved.