RStudio 中的 R Markdown

備份自:http://blog.rainy.im/2015/05/16/rmarkdown-in-rstudio/

RStudio 是 R 語(yǔ)言的一款開(kāi)源的 GUI 軟件预伺,可以讓“用不起Matlab只好用R”的用戶體驗(yàn)到很像 Matlab 一樣的開(kāi)發(fā)環(huán)境所踊,包括變量的顯示软吐、package 的基本操作、幫助文檔等一系列圖形界面。RStudio 另一個(gè)隱藏功能是可以當(dāng)做 Markdown 編輯器來(lái)用(R Markdown),可以根據(jù)數(shù)據(jù)處理結(jié)果快速生成報(bào)告文檔教届,這一功能主要通過(guò) Package Knit 及相關(guān)組件完成。R Markdown 的兩大特別之處驾霜,一是通過(guò) Pandoc 將 Markdown 轉(zhuǎn)化成 LaTex案训,再由強(qiáng)大的 LaTex 轉(zhuǎn)換成 HTML、PDF粪糙、Word强霎,理論上來(lái)說(shuō)借助 LaTex 可以生成學(xué)術(shù)論文、期刊雜志蓉冈、數(shù)據(jù)報(bào)告等規(guī)范格式的文檔城舞;另一大特點(diǎn)是整合了 R 語(yǔ)言的環(huán)境,可以在 Markdown 語(yǔ)法中 code block 直接執(zhí)行 R 語(yǔ)言代碼并將結(jié)果插入文檔寞酿。

安裝 package rmarkdown

可以通過(guò) RStudio 中的新建按鈕創(chuàng)建 R Markdown 文件家夺,此時(shí)可能提示安裝 rmarkdown 包:

install.packages(rmarkdown)

創(chuàng)建文檔可以選擇文檔標(biāo)題、作者以及將要輸出的文檔格式等伐弹,這些也可以在之后更改:

New R Markdown info
New R Markdown info

第一次按 Kint PDF(或 Kint HTML)時(shí)可能出現(xiàn)錯(cuò)誤:

Knit PDF : pandoc document conversion failed with error 43

可以通過(guò)安裝 github 上最新的版本解決:

install.packages("devtools") # 如果以前沒(méi)有安裝 devtools 包
devtools::install_github("rstudio/rmarkdown")

第二個(gè)問(wèn)題當(dāng)是文檔中有中文的情況拉馋,可能提示:

! Package inputenc Error: Unicode char \u8:年 not set up for use with LaTeX.
Try running pandoc with --latex-engine=xelatex.

如果有中文,LaTex 引擎需要選擇為 xelatex惨好,可以通過(guò)下圖的方式進(jìn)行更改:

R Markdown xelatex
R Markdown xelatex

或者直接在文檔頭信息中加入:

output:
  pdf_document:
    latex_engine: xelatex

這樣就可以正常輸出為 PDF 文檔了椅邓,但是會(huì)發(fā)現(xiàn)所有的中文全部都是空白,這個(gè)主要是 LaTex 的配置問(wèn)題昧狮,中文需要中文字體來(lái)渲染,可以通過(guò)在文件頭中引入 LaTex 文件進(jìn)行配置:

outputs:
  pdf_document:
    includes:
      in_header: header.tex
    latex_engine: xelatex

其中 header.tex 可以是:

\usepackage{xeCJK}
\setCJKmainfont{楷體}  % 字體可以更換
\setmainfont{Georgia} % 設(shè)定英文字型
\setromanfont{Georgia} % 字型
\setmonofont{Courier New}

更多詳細(xì)配置可以參考官方文檔板壮。

在 code block 中選擇展示 R 語(yǔ)言執(zhí)行結(jié)果

具體使用方式見(jiàn)下圖:

# {r, comment='# >', collapse=TRUE}
a <- 1
typeof(a);mode(a);class(a)

輸出結(jié)果為:

a <- 1
typeof(a);mode(a);class(a)
# > [1] "double"
# > [1] "numeric"
# > [1] "numeric"

甚至可以直接生成圖像并插入文檔(當(dāng)然結(jié)果這里是看不到了逗鸣,可以在生成的 PDF 或 HTML 中看到繪圖結(jié)果):

x <- seq(from = -5, to = 5, by = 0.01)
y <- dnorm(x)
plot(x, y)

本文內(nèi)容在 R Markdown 中生成的 PDF 部分效果如下:

Rmarkdown output PDF
Rmarkdown output PDF
RMarkdown plot
RMarkdown plot

參考:

  1. Github issues
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子撒璧,更是在濱河造成了極大的恐慌透葛,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卿樱,死亡現(xiàn)場(chǎng)離奇詭異僚害,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)繁调,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)萨蚕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蹄胰,你說(shuō)我怎么就攤上這事岳遥。” “怎么了裕寨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵浩蓉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我宾袜,道長(zhǎng)捻艳,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任庆猫,我火速辦了婚禮认轨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阅悍。我一直安慰自己好渠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布节视。 她就那樣靜靜地躺著拳锚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寻行。 梳的紋絲不亂的頭發(fā)上霍掺,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音拌蜘,去河邊找鬼杆烁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛简卧,可吹牛的內(nèi)容都是我干的兔魂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼举娩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼析校!你這毒婦竟也來(lái)了构罗?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤智玻,失蹤者是張志新(化名)和其女友劉穎遂唧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體吊奢,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盖彭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了页滚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片召边。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逻谦,靈堂內(nèi)的尸體忽然破棺而出掌实,到底是詐尸還是另有隱情,我是刑警寧澤邦马,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布贱鼻,位于F島的核電站,受9級(jí)特大地震影響滋将,放射性物質(zhì)發(fā)生泄漏邻悬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一随闽、第九天 我趴在偏房一處隱蔽的房頂上張望父丰。 院中可真熱鬧,春花似錦掘宪、人聲如沸蛾扇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)镀首。三九已至,卻和暖如春鼠次,著一層夾襖步出監(jiān)牢的瞬間更哄,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工腥寇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留成翩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓赦役,卻偏偏與公主長(zhǎng)得像麻敌,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掂摔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容