71

Rstudio 0.96 の R Markdown ファイルで「Knit HTML」を押すと、どのコマンドが実行されますか?

私の動機は、別のテキスト編集環境にいるときに同じコマンドを実行したい場合や、コマンドをより大きなmakefile.

4

4 に答える 4

64

基本スクリプト

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 オプション

良い点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'))

Makefile

これは、おそらく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')

于 2012-06-10T13:30:27.713 に答える
43

チャンクに入れるSys.sleep(30)と、RStudioによって呼び出されるコマンドが明確にわかります。基本的に彼らは

  1. library(knitr); knit()マークダウンファイルを取得します。
  2. RStudioには、マークダウンをHTMLに変換する内部関数があります。

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の関係の投稿を参照してください。

于 2012-05-18T14:16:07.293 に答える
28

knutshell の Knitrからの非常に簡単なコマンド ライン メソッド:

R -e "rmarkdown::render('knitr_example.Rmd')"

これはrmarkdown一緒にインストールする必要がinstall.packages(rmarkdown)あり、pandocがインストールされている必要があります (どうやら Rstudio に付属しているようです。詳細についてはknutshell の Knitrを参照してください)。

これまでのところ、これを使用すると、すべてのプロットが画像として Figure ディレクトリに保存されるのではなく、HTML ファイルに適切に配置され、中間ファイルがあればクリーンアップされます。RStudio でのコンパイルと同じように。

于 2015-06-26T00:36:05.827 に答える
4

a.rmd は R Markdown v2 ドキュメントのように見えるため、knitr::knit2html() の代わりに rmarkdown::render() を呼び出す必要があるようです。

于 2016-07-06T23:26:05.383 に答える