我目前正在切换到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 ))
daroczig.. 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 -----------------------------
所以这里的技巧是定义一个只需要分析一个参数的函数,它返回列对齐参数的向量.
谢谢你的好话和好问题.还有一个尚未有详细记录的功能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 -----------------------------
所以这里的技巧是定义一个只需要分析一个参数的函数,它返回列对齐参数的向量.