Rstudio 0.96のR Markdownファイルで「Knit HTML」を押すと実行されるコマンドは何ですか?
私の動機は、別のテキスト編集環境で同じコマンドを実行したい場合や、より大きなmakefile
でコマンドを組み合わせたい場合です。
Sys.sleep(30)
をチャンクに入れると、RStudioによって呼び出されるコマンドが明確にわかります。基本的に彼らは
library(knitr); knit()
はマークダウンファイルを取得します。次のバージョンの markdown
パッケージでは、2番目のステップがより透明になります。現在、knitr::knit2html('your_file.Rmd')
を使用して、RStudioが提供するのと同様のHTMLファイルを取得できます。
R markdown
パッケージがリリースされた であるため、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
_(たとえば、 このような何か )を使用して、メイクファイルにすべて追加することもできます。ここに私がまとめた基本的なmakefileの例を示します。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=''))"
_
メイクファイルは、私の好みのマークダウンオプションを使用します。つまり、options=c('use_xhtml', 'base64_images')
knutshellのknitr からの非常に簡単なコマンドラインメソッド:
_R -e "rmarkdown::render('knitr_example.Rmd')"
_
これにはrmarkdown
をinstall.packages(rmarkdown)
とともにインストールする必要があり、 pandoc がインストールされている必要があります(明らかにRstudioに付属しています。 knitrshell in knutshell 詳細については)。
これまでのところ、これを使用すると、すべてのプロットが画像としてではなくHTMLファイルに配置され、中間ディレクトリファイル(存在する場合)がクリーンアップされます。 RStudioでのコンパイルと同じように。
A.rmdはR Markdown v2ドキュメントのように見えるため、knitr :: knit2html()ではなくrmarkdown :: render()を呼び出す必要があるようです。