2017-12-22 40 views
0

変数が同じだが結果が異なる多くの異なるHTML Markdownを生成するループがあります(単一の.Rmdに基づいて)。R Markdownでオブジェクトをハイパーリンクにする方法

私は、外部ウェブサイトへのハイパーリンクを挿入したいと思います。URLで変更されるのは、私が扱っているトピックの名前だけです。このためには、ループ全体で変更できるものが必要です。しかし、R Markdownのリンク構造は単純なリンクを可能にします。ファイルレンダリング

ループスクリプト:documentname1.htmlについて

names <- c(name1, name2, name3) 

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

は、背後にあるハイパーリンクのコードは次のようになります。ハイパーリンクコードが背後にあるだろう

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

documentname2.htmlについて:

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

など。

URLがRmdベースファイル内のオブジェクトを参照するリンク構造を作成するにはどうすればよいですか、またはこの場合に使用できるHTML構文などの代替がある場合はどうすればよいですか? sed

+0

私はあなたの質問がわかりません – MichaelChirico

+0

簡単なURLしか受け付けないR Markdownのリンク構造を念頭に置いて、それがどのように(オブジェクトに格納されている)リンクを参照できるようにすることができますか?ループに移動します。 – Alexia

答えて

1

簡単な方法:ご参照document.Rmd

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") 
} 

[External Website](http://website.com/MYNAME.html)があり、各反復でnamesedを使用してMYNAMEを交換してください。

関連する問題