在pander中更改默认对齐方式(pandoc.table)

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)

所以这里的技巧是定义一个只需要分析一个参数的函数,它返回列对齐参数的向量.

  • 感谢您的回复以及进行此类定制的可能性.另外,谢谢你轻轻地开玩笑,我不是故意反感.我确实感觉这样的配置可以安抚大多数人使用R和pander,所以我恳请你考虑让它默认. (2认同)