RMarkdown调整文字、表格等格式的命令汇总(持续更新)
2019-03-19 本文已影响36人
xuwenpku
为了使得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)
比较一下上述两段代码的输出能看出表格显示的差别。