Die*_*nne 7 r knitr r-markdown pander
我目前正在切换到pander我的大部分knitr-markdown格式,因为它提供了如此强大的pandoc支持.我不满意的一件事是默认的中心对齐.营销人员可能会喜欢它,但对于技术报告来说这是一个恐怖.
使用的最佳选择Hmisc是默认使用左对齐文本和日期,右对齐所有类型的数字.
是否有一种简单的方法可以全局设置pander?
library(pander)
pander(data.frame(
name = letters[1:3],
size = 1:3,
we.have.dates = Sys.Date() - 1:3
))
Run Code Online (Sandbox Code Playgroud)
dar*_*zig 11
谢谢你的好话和好问题.还有一个尚未有详细记录的功能pander,但您也可以将R函数作为默认表格对齐.快速演示:
> panderOptions('table.alignment.default',
+ function(df) ifelse(sapply(df, is.numeric), 'right', 'left'))
> pander(data.frame(
+ name = letters[1:3],
+ size = 1:3,
+ we.have.dates = Sys.Date() - 1:3
+ ))
-----------------------------
name size we.have.dates
------ ------ ---------------
a 1 2014-11-18
b 2 2014-11-17
c 3 2014-11-16
-----------------------------
Run Code Online (Sandbox Code Playgroud)
所以这里的技巧是定义一个只需要分析一个参数的函数,它返回列对齐参数的向量.