R Markdown使用方法筆記
看了老大的bilibili視頻中R視頻最后一講P33,知道了R Markdown這個東東,也就知道了為什么有時那些看起來顏值頗高的教程貼,就是說在R Markdown上生成的html報表中的圖片都是同樣大小扒俯。最主要的是可以生成包含所有文本、代碼和輸出的完整報告一疯。
搜索后總結目前能用到的如下:
1.
knitr::opts_chunk$set()
全局設定撼玄,“()”
內(nèi)加入?yún)?shù)就可以對整篇報告進行設置2.如果希望代碼用R的大于號提示符開始, 用選項
prompt=TRUE
墩邀。 如果希望結果不用井號保護掌猛, 使用選項comment=''
。3.
tidy=TRUE
可以自動重新排列代碼段眉睹, 使得代碼段格式更符合規(guī)范.4.
collapse=TRUE
:一個代碼塊的代碼荔茬、輸出通常被分解為多個原樣文本塊中, 如果一個代碼塊希望所有的代碼竹海、輸出都寫到同一個原樣文本塊中慕蔚, 加選項collapse=TRUE
。5.
child='文件名.Rmd'
可以調入另一個.Rmd文件的內(nèi)容斋配。如果有多個.Rmd文件依賴于相同的代碼孔飒,可以用這樣的方法灌闺。6.
echo = TRUE
同時顯示代碼塊 + 結果。
echo = FALSE
不顯示代碼塊坏瞄,但顯示結果桂对。禁止代碼出現(xiàn)在最終報告中,但不會禁止結果鸠匀。為不想看到 R 代碼的人 們編寫報告時蕉斜,就可以使用這個選項。7.
eval=FALSE
, #可以使得代碼僅顯示而不實際運行狮崩。 這樣的代碼段如果有名字蛛勉, 可以在后續(xù)代碼段中被引用。8.
include=FALSE
睦柴,可以運行代碼诽凌,但不會在最終文檔中顯示代碼和結果。如果不想讓 setup 代碼出現(xiàn)在報告中坦敌,就可以使用這個選項侣诵。9.
message = FALSE
或warning = FALSE
可以防止消息或警告出現(xiàn)在最終報告中。10.
results = 'hide'
可以隱藏文本輸出;fig.show = 'hide'
可以隱藏圖形輸出狱窘。11.
error = TRUE
在代碼出現(xiàn)錯誤時仍然可以生成最終報告杜顺。在報告的最終版中,我們很少需要包括出錯信息蘸炸,但在調試 .Rmd 文件時躬络,出錯信息是非常有用的。如果使用 R 進行 教學活動搭儒,并特意想要包括出錯信息的話穷当,這個選項是非常有用的。如果使用默認設置 error = FALSE淹禾,那么即使只有一個錯誤馁菜,文檔生成也會失敗。12.當R Markdown文章比較長铃岔,包含的R代碼比較多汪疮, 或者代碼段運行需要比較長時間時,反復編譯整篇文章會造成不必要的計算毁习,因為有些代碼段并沒有修改智嚷,依賴的數(shù)據(jù)也沒有改變。 knitr提供了緩存功能纺且, 代碼段選項
cache=TRUE
對代碼段打開緩存盏道,允許暫存上次運行的結果(包括文本結果和圖形)而不需要重復運行代碼段。當代碼段被修改時隆檀,緩存被放棄摇天,編譯時重新運行代碼段粹湃。13.緩存這種功能需要慎重使用,免得錯誤地使用了舊的結果泉坐。當后面的代碼段需要使用前面代碼段結果時为鳄,如果前面結果改了,后面的代碼段就不能使用緩存的結果而必須重新計算腕让。 為此孤钦, 在后面的代碼段中應該加上
dependson=
選項,比如dependson=c('codeA', 'codeB')
纯丸,其中codeA和codeB是前面的代碼段的標簽偏形, 其結果會用在本代碼段中。也可以使用代碼段選項autodep=TRUE
觉鼻,knitr
試圖自動確定前后代碼段之間的依賴關系俊扭,每當前面的代碼段改變時, 后面的用到其結果代碼段也自動重新計算而不使用緩存的舊結果坠陈。建議僅對計算一次需要較長時間的代碼段使用緩存功能萨惑,后面依賴于其結果的代碼一定要加上dependson=
選項。因為緩存策略會逐漸變得復雜仇矾,所以應該定期使用knitr::clean_cache()
命令清除所有 緩存庸蔼。14.如果更喜歡用表格來顯示數(shù)據(jù),那么你可以使用
knitr::kable
函數(shù)15.使用 out.width 控制輸出圖形的大小贮匕,并將其設置為行寬的百分比姐仅。默認設置為
out.width = "70%"
和fig.align = "center"
。這種設置圖形既不會占用過多空間刻盐,也不會顯得太擁擠掏膏。如果想要讓所有圖形中的字體都保持一致大小,那么只要設置了 out.width隙疚,就同時還需要調整 fig.width壤追,使其與默認 out.width 保持同樣的比例磕道。例如供屉,如果默認fig.width
為 6,out.width
為 0.7溺蕉,那么當設置out.width = "50%"
時伶丐,你需要同時將fig.width
設置為 4.3(6*0.5/0.7)。
一開始糾結生成的html報告怎么發(fā)在簡書上呢搜索半天??,其實將生成的html報表格式復制后疯特,粘貼在簡書上即可哗魂,還沒發(fā)現(xiàn)有不一樣的地方。親試過漓雅。??下面是一張舉例子的極簡易html報表录别。
參考:google搜索:R_文檔輸出_rmarkdown 第一個
【視頻講解】-使用rmarkdown來制作html報表
作者:小夢游仙境
鏈接:http://www.reibang.com/p/6e922e9cda54