我目前正在切换到 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
))
最佳答案
感谢您的客气话和很好的问题。 pander
中有一个尚未详细记录的功能,但您也可以将 R 函数作为 default table alignment 传递。 。快速演示:
> 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
-----------------------------
所以这里的技巧是定义一个函数,它只需要分析一个参数,并返回列对齐参数的向量。
关于r - 更改 pander 中的默认对齐方式 (pandoc.table),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27014123/