Rstudio 0.96 の R Markdown ファイルで「Knit HTML」を押すと、どのコマンドが実行されますか?
私の動機は、別のテキスト編集環境にいるときに同じコマンドを実行したい場合や、コマンドをより大きなmakefile
.
Rstudio 0.96 の R Markdown ファイルで「Knit HTML」を押すと、どのコマンドが実行されますか?
私の動機は、別のテキスト編集環境にいるときに同じコマンドを実行したい場合や、コマンドをより大きなmakefile
.
Rmarkdown
パッケージがリリースされたので、Knit の機能を Html に複製するコードを次に示します。
require(knitr) # required for knitting from rmd to md
require(markdown) # required for md to html
knit('test.rmd', 'test.md') # creates md file
markdownToHTML('test.md', 'test.html') # creates html file
browseURL(paste('file://', file.path(getwd(),'test.html'), sep='')) # open file in browser
はtest.rmd
、R マークダウン ファイルの名前です。私は、browseURL 行について 100% の自信があるわけではないことに注意してください (したがって、Web ブラウザーでファイルを開くことについてここで質問します)。
良い点markdownToHTML
は、HTML の作成方法に多数のオプションがあることです (「参考文献」を参照?markdownHTMLOptions
)。たとえば、すべてのヘッダー情報を含まないコード フラグメントのみが必要な場合は、次のように記述できます。
markdownToHTML('test.md', 'test.html', options='fragment_only')
または、ハード ラッピング (つまり、マークダウン ソースに 1 つの手動改行がある場合に改行を挿入する) が気に入らない場合は、'hard_wrap' オプションを省略できます。
# The default options are 'hard_wrap', 'use_xhtml',
# 'smartypants', and 'base64_images'.
markdownToHTML('test.md', 'test.html',
options=c('use_xhtml', 'base64_images'))
これは、おそらくRscript -e
(たとえば、このようなもの) を使用してすべてのメイクファイルに追加することもできます。ここに、私がまとめた基本的なメイクファイルの例をtest
示します。ここで、 は rmd ファイルがtest.rmd
.
RMDFILE=test
html :
Rscript -e "require(knitr); require(markdown); knit('$(RMDFILE).rmd', '$(RMDFILE).md'); markdownToHTML('$(RMDFILE).md', '$(RMDFILE).html', options=c('use_xhtml', 'base64_images')); browseURL(paste('file://', file.path(getwd(),'$(RMDFILE).html'), sep=''))"
makefile は、私の好みのマークダウン オプションを使用します。つまり、options=c('use_xhtml', 'base64_images')
チャンクに入れるSys.sleep(30)
と、RStudioによって呼び出されるコマンドが明確にわかります。基本的に彼らは
library(knitr); knit()
マークダウンファイルを取得します。2番目のステップは、マークダウンパッケージの次のバージョンでより透過的になります。現在knitr::knit2html('your_file.Rmd')
、RStudioが提供するのと同様のHTMLファイルを取得するために使用できます。
2019/09/17の更新:上記の回答はRStudio v0.96(2012年)に適用されます。現在、R Markdownrmarkdown::render()
は、廃止されたRパッケージのマークダウンの代わりにPandocを使用するによってコンパイルされます。詳細については、R Markdown、Knitr、Pandoc、およびBookdownの関係の投稿を参照してください。
knutshell の Knitrからの非常に簡単なコマンド ライン メソッド:
R -e "rmarkdown::render('knitr_example.Rmd')"
これはrmarkdown
一緒にインストールする必要がinstall.packages(rmarkdown)
あり、pandocがインストールされている必要があります (どうやら Rstudio に付属しているようです。詳細についてはknutshell の Knitrを参照してください)。
これまでのところ、これを使用すると、すべてのプロットが画像として Figure ディレクトリに保存されるのではなく、HTML ファイルに適切に配置され、中間ファイルがあればクリーンアップされます。RStudio でのコンパイルと同じように。
a.rmd は R Markdown v2 ドキュメントのように見えるため、knitr::knit2html() の代わりに rmarkdown::render() を呼び出す必要があるようです。