R Markdown是一種用于在R中生成可重復(fù)生成的報(bào)告的開源工具。它可以幫助您將所有代碼,結(jié)果和編寫都放在一個(gè)地方,并以有吸引力且易于消化的方式格式化所有內(nèi)容。
這也是將您的數(shù)據(jù)工作展示給其他人的寶貴工具。使用R Markdown,您可以選擇將您的作品導(dǎo)出為多種格式,包括PDF,Microsoft Word,幻燈片或HTML文檔,以便在網(wǎng)站上使用。
R Markdown是一種功能強(qiáng)大的工具,因?yàn)樗捎糜跀?shù)據(jù)分析和數(shù)據(jù)科學(xué),與他人合作以及將結(jié)果傳達(dá)給決策者。
在大數(shù)據(jù)分析R語言Markdown的使用技巧中,我們將介紹在RStudio中使用R Markdown的一些技巧,竅門和快捷方式。(如果您想了解有關(guān)RStudio的更多信息,請查看此AAA教育博客文章,了解RStudio的提示和技巧!)
我們喜歡使用R Markdown在R中進(jìn)行編碼和創(chuàng)作內(nèi)容。實(shí)際上,我們在R Markdown中撰寫了此博客文章!讓我們找出原因!
一、鍵盤快捷鍵
知道R Markdown鍵盤快捷鍵將在創(chuàng)建報(bào)告時(shí)節(jié)省大量時(shí)間。
以下是一些基本的R Markdown快捷方式:
1)Command + Option + I在Mac或Ctrl + Alt + ILinux和Windows 上插入一個(gè)新的代碼卡盤。
2)Command + Shift + K在Mac或Ctrl + Shift + KLinux和Windows 上,以YAML標(biāo)頭中指定的格式輸出文檔。“ k”是“編織”的縮寫!
接下來,我們將介紹運(yùn)行代碼塊的快捷方式。但是在執(zhí)行此操作之前,通常最好重新啟動(dòng)R會(huì)話并從干凈的環(huán)境開始。Command + Shift + F10在Mac或Ctrl + Shift + F10Linux和Windows 上執(zhí)行此操作。
3)Command + Option + P在Mac上運(yùn)行當(dāng)前塊上方的所有塊;Ctrl + Alt + P在Linux和Windows上。
4)在Mac 上Command + Option + C或Command + Shift + Enter在Mac上運(yùn)行當(dāng)前塊;Ctrl + Alt + C或Ctrl + Shift + Enter在Linux和Windows上。
5)Command + Option + N在Mac上運(yùn)行下一個(gè)塊;Ctrl + Alt + N在Linux和Windows上。
6)在Mac 上Command + Option + R或Command + A + Enter在Mac上運(yùn)行所有塊;Ctrl + Alt + R或Ctrl + A + Enter在Linux和Windows上。
二、快速預(yù)覽您的文檔
R Markdown提供了許多用于編譯文檔的格式選項(xiàng)。但是,將您的工作呈現(xiàn)為PDF或演示文稿的時(shí)間可能比編譯為HTML所需的時(shí)間長得多。因此,創(chuàng)作時(shí)將文檔輸出為HTML通常很有用,因?yàn)檫@樣可以快速進(jìn)行迭代。
當(dāng)打開一個(gè)新的R Markdown文件時(shí),默認(rèn)的輸出格式是HTML-編譯報(bào)告時(shí),您可以在Web瀏覽器中輕松查看它。此默認(rèn)設(shè)置可以節(jié)省您的時(shí)間!當(dāng)您接近成品時(shí),可以將輸出更改為您選擇的格式,然后進(jìn)行最后的修飾。
三、知道您的代碼塊選項(xiàng)
R Markdown的一大優(yōu)點(diǎn)是,您有許多選擇來控制如何評(píng)估和呈現(xiàn)每個(gè)代碼塊。這使您可以從頭開始構(gòu)建演示文稿和報(bào)告,包括代碼,圖表,表格和圖像,同時(shí)僅將基本信息呈現(xiàn)給目標(biāo)受眾。例如,您可以包含結(jié)果圖,而不顯示用于生成結(jié)果的代碼。
掌握以下代碼塊選項(xiàng)對于成為熟練的R Markdown用戶至關(guān)重要:
1)echo = FALSE:隱藏代碼,但運(yùn)行代碼并產(chǎn)生所有輸出,曲線圖,警告和消息。
2)eval = FALSE:顯示代碼,但不對其進(jìn)行評(píng)估。
3)fig.show = "hide":隱藏圖。
4)include = FALSE:運(yùn)行代碼,但不顯示所有輸出。這對于設(shè)置代碼很有幫助。打開新的R Markdown文檔時(shí),您可以在第一個(gè)代碼塊中看到一個(gè)示例!
5)message = FALSE:防止軟件包在加載時(shí)打印消息。這也抑制了函數(shù)生成的消息。
6)results = "hide":隱藏打印輸出。
7)warning = FALSE:防止軟件包和功能顯示警告。
四、使用內(nèi)聯(lián)代碼
使用內(nèi)聯(lián)代碼將R代碼直接嵌入到R Markdown文檔中。當(dāng)您要在書面摘要中包含有關(guān)數(shù)據(jù)的信息時(shí),這很有用。
將內(nèi)聯(lián)代碼與一起使用,r并添加代碼以在反引號(hào)內(nèi)進(jìn)行評(píng)估。例如在編寫大數(shù)據(jù)分析R語言Markdown的使用技巧時(shí),我們使用了內(nèi)聯(lián)代碼來自動(dòng)為每個(gè)部分編號(hào),因此我們不必自己手動(dòng)添加它們。那么我們?nèi)绾巫龅降哪?我們首先tip_number在setup代碼塊中創(chuàng)建一個(gè)名為和的變量,然后將值設(shè)置為零,如下所示:
然后,將以下內(nèi)聯(lián)代碼添加到每個(gè)部分,以使每次迭代的數(shù)目增加一:
嘿,等一下!我們?nèi)绾卧赗 Markdown中撰寫的此博客文章中包含最后一行代碼,而不弄亂下面的部分編號(hào)?帶有代碼塊選項(xiàng)!上面的代碼示例以代碼塊形式編寫,帶有eval = FALSE用于阻止代碼運(yùn)行的選項(xiàng)。像這樣:
如您所見,R Markdown是一個(gè)功能強(qiáng)大的工具,因?yàn)樗梢允鼓鷮ξ臋n輸出進(jìn)行很多控制!
五、使用TinyTex
使用R Markdown,您可以使用LaTeX文檔準(zhǔn)備系統(tǒng)輸出高質(zhì)量的報(bào)告。當(dāng)報(bào)告包含科學(xué)或數(shù)學(xué)符號(hào)以及符號(hào)時(shí),LaTeX特別有用。例如,我們在AAA教育中使用LaTeX編寫使用數(shù)學(xué)符號(hào)的統(tǒng)計(jì)內(nèi)容。
但是,諸如TeX Live,MiKTeX和MacTeX之類的LaTeX發(fā)行版在您的硬盤驅(qū)動(dòng)器上需要大約5 GB的磁盤空間!相反,TinyTex在安裝時(shí)僅使用約150 MB。
使用install.packages('tinytex')或安裝TinyTex tinytex::install_tinytex()。使用卸載TinyTex tinytex::uninstall_tinytex()。
安裝TinyTex后,如果您將PDF指定為輸出格式,則無需執(zhí)行其他操作即可輸出PDF文檔!
要編譯一個(gè)LaTeX文檔為PDF格式,調(diào)用其中的一個(gè)tinytex功能:pdflatex(),xelatex(),和lualatex()。使用的功能取決于您要使用的LaTeX引擎。
TinyTex開發(fā)人員和R Markdown超級(jí)巨星謝益輝說,這是普通R用戶需要了解的所有有關(guān)TinyTex的信息。為什么?因?yàn)樘岬降腖aTeX功能將自動(dòng)檢測并安裝所有缺少的LaTeX軟件包!
六、使用R腳本生成R Markdown文檔
您是否知道可以從R腳本生成R Markdown文檔?為此,請使用捕獲注釋#'。您甚至可以使用來指定代碼塊選項(xiàng)#+。這是一個(gè)例子:
該R腳本以文件名“ r_script.R”保存。為了將此文檔呈現(xiàn)為R Markdown文檔,我們spin()從中指定函數(shù)knitr,如下所示:
knitr::spin("r_script.R", knit = FALSE, format = "R
md")
這將生成一個(gè)R Markdown文檔,如下所示:
當(dāng)您編織此文檔時(shí),將返回以下HTML輸出:
七、生成帶有R Markdown文檔的R腳本
您可能想知道是否存在將R Markdown文檔轉(zhuǎn)換為R Script的方法?有!該knitr軟件包還為此提供了一個(gè)功能purl()。這是將我們的R Markdown文檔轉(zhuǎn)換回R腳本的命令:
knitr::purl("r_script.Rmd", documentation = 2)
請注意,您必須指定documentation = 2返回#'注釋中的完整文檔。如果您的文檔是純代碼,請指定documentation = 0。
八、在R Markdown中添加換行符
在輸出中添加換行符有多困難?不是。但是弄清楚這一點(diǎn)可能有點(diǎn)棘手!
要在R Markdown中打斷一行并將其顯示在輸出中,請使用兩個(gè)尾隨空格,然后單擊return。讓我們來看一個(gè)例子。
在這里,我們沒有在第一(頂部)組的兩個(gè)句子之間指定兩個(gè)尾隨空格。但是我們確實(shí)在第二個(gè)(底部)組的兩個(gè)句子之間指定了兩個(gè)尾隨空格。
編織文檔后的結(jié)果?看看這個(gè)!
九、在R Markdown中添加空白行
因?yàn)槲覀冎唤榻B了換行符,所以我們還討論如何在文檔中添加空行。當(dāng)您要添加空格以減少文檔中的混亂時(shí),此功能很有用。
要在輸出中顯示一個(gè)或多個(gè)空行,請指定。讓我們來看一個(gè)例子。
在這里,我們沒有
在第一(頂部)組的兩個(gè)句子之間指定兩個(gè)命令。但是我們確實(shí)
在第二個(gè)(底部)組的兩個(gè)句子之間指定了兩個(gè)命令。
結(jié)果就是這里!
十、在R Markdown中查詢SQL
您可以通過創(chuàng)建{sql}代碼塊在R Markdown中查詢SQL 。
首先,將生成一個(gè)內(nèi)存中的SQL數(shù)據(jù)庫以供本示例使用。您將生成一個(gè)著名的“ mtcars”數(shù)據(jù)集的SQL數(shù)據(jù)庫。這是代碼:
在新的代碼塊中,編寫一個(gè)SQL查詢以使用四缸引擎從數(shù)據(jù)庫中選擇所有汽車。確保將此塊的類型更改為{sql}。此命令返回一個(gè)數(shù)據(jù)框,您將另存為mt_cars_df:
指定output.var = "mt_cars_df"將查詢結(jié)果保存到數(shù)據(jù)框。數(shù)據(jù)框如下所示:
您可以在R代碼塊中使用此數(shù)據(jù)幀來執(zhí)行分析或生成ggplot,例如:
十一、使用塊名稱
命名代碼塊對于包含許多塊的長文檔很有用。例如,使用R代碼塊,將塊命名為:{r my_boring_chunk_name}。
使用命名的代碼塊,您可以在R Markdown窗口窗格底部包含的代碼塊導(dǎo)航器中的塊之間進(jìn)行導(dǎo)航。這也可以使圖易于按名稱標(biāo)識(shí),因此可以在文檔的其他部分中使用它們。
我們已經(jīng)從上面在SQL示例中添加了塊名稱。這是我們在導(dǎo)航器中看到的內(nèi)容:
十二、將它帶到云端!
RStudio現(xiàn)在提供了一個(gè)基于云的RStudio Desktop版本,稱為RStudio Cloud。RStudio Cloud允許您在R Markdown中進(jìn)行創(chuàng)作,而無需安裝軟件,只需要一個(gè)Web瀏覽器。
RStudio Cloud中的工作被組織成與桌面版本相似的項(xiàng)目,但是RStudio Cloud使您可以指定希望用于每個(gè)項(xiàng)目的R版本。
RStudio Cloud還可以輕松安全地與同事共享項(xiàng)目,并確保每次訪問項(xiàng)目時(shí)都可以完全重現(xiàn)工作環(huán)境。這對于在R Markdown中編寫可重復(fù)生成的報(bào)告非常有用!
如您所見,RStudio Cloud的布局與在RStudio桌面中編寫R Markdown文檔非常相似:
獎(jiǎng)勵(lì):R Markdown備忘單
RStudio已發(fā)布了許多與R一起使用的備忘單,包括有關(guān)使用R Markdown的詳細(xì)備忘單!通過選擇,可以從RStudio中訪問R Markdown備忘單Help > Cheatsheets > R Markdown Cheat Sheet。
其他資源
RStudio已發(fā)布了一些有關(guān)如何使用R Markdown的文章。
填寫下面表單即可預(yù)約申請免費(fèi)試聽!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費(fèi)! 怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!
?2007-2022/ mwtacok.cn 北京漫動(dòng)者數(shù)字科技有限公司 備案號(hào): 京ICP備12034770號(hào) 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc