r - 更改 pander 中的默认对齐方式 (pandoc.table)

标签 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
 ))

最佳答案

感谢您的客气话和很好的问题。 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/

相关文章:

r - 评估 YAML header 中的 R 代码

r - 根据其他列条件将列值更改为 NA

r - 如何转换从 CSV 读取为纬度/经度坐标的地理空间数据以匹配从 SHP 读取的数据?

r - 更改 ggplot 中躲闪条之一的填充颜色

r - 在 R 字符串中打印反斜杠

删除 knit html 输出上的 caret::train() 迭代

r - knitr : How to improve typography 中的科学记数法

r - 从数据帧创建字符串

r - 使 R Markdown 输出可访问

本地服务器上的 R-markdown 演示网络服务器