2014-10-10 66 views
5

我正在編寫R package hosted on GitHub的文檔。我使用knitr和R Markdown來編寫自述文件。點擊RStudio中的'編織HTML'按鈕會生成一個HTML,就像我期望的那樣。GitHub顯示README.rmd中的所有代碼塊(儘管include = FALSE)

但是,將README.rmd推送到GitHub會導致您在遵循上述鏈接時在較低頁面部分中看到的內容。例如,最上面的代碼塊被聲明爲README.rmd文件如下:

```{r global_options, include = FALSE} 
library(knitr) 
options(width = 120) 
opts_chunk$set(fig.width = 12, fig.height = 8, fig.path = 'Figs/', 
       include = TRUE, warning = FALSE, message = FALSE) 
``` 

然而,在第一行代碼的include = FALSE聲明在這種情況下會被忽略,和一段代碼,這是應該隱藏的內容顯示在引用的GitHub頁面上。另外,結果(例如,從plot(),head())不可見,但是opts_chunk$set(..., include = TRUE)

有沒有人遇到類似的問題,我可以幫助我在GitHub上顯示正確的README文檔,即以RStudio的方式處理它?

回答

9

您嘗試在github上發佈的自述文件應該是一個普通的降價文檔,即.md文件,而不是原始.rmd。所以,首先你編織.rmd與knitr(R內)如下:

knit(input="readme.rmd", output = "readme.md") #see ?knit for more options 

這將評估在源.rmd指定的全局和塊選項,併產生真實據此格式化的.md和github上可以很容易地渲染。

+0

不知道這是那麼容易。謝謝(: – fdetsch 2014-10-10 11:53:42

+0

呵呵@Shekeine,我忘了問:有沒有辦法直接在我的README.rmd文件中實現'knit'語句,並在碰到'Knit HTML'時自動轉換,還是必須執行每次在控制檯上手動輸入? – fdetsch 2014-10-13 06:59:23

+1

在'knit()'中執行的R命令或者當你點擊「Knit HTML」時,''rmd''可以包含在雙引號內,但是寫'在你的'.rmd'中編織(blah blah blah)''可能會讓你陷入一個無限循環:-),不是很確定,因爲我從來沒有嘗試過:你可以,但我不會預見到可取的結果。或者,如果您使用Rstudio,則可以在生成html之後讓knitr「保留降價源文件」。此選項可以在「高級」選項卡下的Knitr設置中啓用(rstudio中'knit html'旁邊的小齒輪)。 – shekeine 2014-10-13 11:27:52

1

有關使用.Rmd生成.md更多信息,請參閱的http://r-pkgs.had.co.nz/release.html

您也可以使用你的包devtools::use_readme_rmd()設置此自動devtools的Readme.Rmd部分。

+0

按照Hadley的書,我在加載我自己的軟件包到Rmd文件中時出現問題,以證明它的用途。事實上,該軟件包正在開發中,因此未安裝在我的機器上並可供編織者使用。如何解決這個問題? – Heisenberg 2016-07-03 15:32:58

+0

使用'devtools :: dev_mode()'並安裝包。您需要安裝該軟件包才能創建小插曲。 – Jim 2016-07-05 05:17:07

相關問題