爲了使得Rmarkdown的輸入文本更易於閱讀和美觀,需要進一步的對文本的段落格式等等進行調整。下面是作者遇到和想到的相關問題和查詢的解決方法。作者之後遇到相關的問題還會繼續更新本文。
首行空兩格
在分段落時會遇到需要首行縮進的問題,解決方法如下。注意跟相應段落的上一行比較縮進的量。
- 行首輸入 或 ”的效果如下行
半方大的空白 - 行首輸入 或 
全方大的空白 - 行首輸入 或 
不斷行的空白格
因此首行縮進2字符應該是在行首輸入兩個 即可
段落
Rmarkdown的編譯會忽視回車鍵。因此要分段落需要一個段落的行末連續輸入兩個空格即可
表格格式調整
可採用markdown的基本語言來創建一個表格
: this is the caption of table
|Name|Math|English|
|:-:|:-|-:|
|Tom|93|100|
|Mary|60|90|
這個可以創建一個簡易表格。這個是按照rmarkdown中的例子創建的。其中解釋一下,|:-:|這個輸入表示居中對齊,|:-|表示左對齊,|-:|表示右對齊。對齊格式調整作者還沒有學會。但是更多的情況下可能需要輸出的是數據分析過程中產生的數據表格,例如不同組患者間基本信息的比較等等。因此需要藉助kable函數,以及kableExtra包。
kable函數的參數:
kable(x, format, digits = getOption("digits"), row.names = NA, col.names = NA, align,caption = NULL, format.args = list(), escape = TRUE, ...)
參數的意義如下:
- x 通常爲要顯示的matrix或者data frame.
- format 參數爲字符串,可設定爲latex, html, markdown, pandoc, and rst;如果不指定的話,函數會自動選擇合適的format,也可通過在全局設定中設定knitr.table.format.
- digits 數字顯示的位數設定
- row.names 邏輯性變量,是否顯示行名,默認是顯示
- col.names 字符向量,用於列名的顯示
- align 對齊方式'l' (left), 'c' (center) and/or 'r' (right).
- caption 表格名稱
- format.args (這個參數包括escape參數作者不甚理解,待後續理解了後更新。)
- escape
- ... 其他參數
其中值得注意的一點是缺失值默認是顯示NA。如果要更改的話需要設定options(knitr.kable.NA = '')。
另外一個有用的選擇是用kableExtra中的kable_styling函數,其作用是輸出的表格不會佔據整個頁面的寬度。
library(kableExtra)
table1 <- data.frame(Name = c("Tom", "Mary"), Math = c("90","60"), English = c("89", "100"))
kable(table1, format = "html") %>% kable_styling(full_width = F)
table1 <- data.frame(Name = c("Tom", "Mary"), Math = c("90","60"), English = c("89", "100"))
kable(table1, format = "html") %>% kable_styling(full_width = T)
比較一下上述兩段代碼的輸出能看出表格顯示的差別。