R:带有迎面的打印台

时间:2017-08-29 14:14:14

标签: r pander

使用pander打印表格时,我获得了一条我无法理解的错误消息Error in pandoc.table.return(...) : Wrong number of parameters (76 instead of *4*) passed: justify

a <- table(mtcars$mpg, mtcars$cyl)
pander(a)

回溯:

6. stop(sprintf("Wrong number of parameters (%s instead of *%s*) passed: justify", length(justify), length(t.width)))
5. pandoc.table.return(...)
4. cat(pandoc.table.return(...))
3. pandoc.table(x, caption = caption, ...)
2. pander.table(a)
1. pander(a)

我做错了什么?我的目标是以表格格式打印表格(变量1的值作为行名称,变量2的值作为列名称),而不是因为我将表格转换为数据帧(第1列中的变量1的值) ,第2列中变量2的值,第3列中的频率)。我知道它可以与print一起使用,但是我希望有pander布局,因为我的所有其他表格(来自数据框格式)都是用pander打印的。

1 个答案:

答案 0 :(得分:1)

我意识到我已经忘记了,但我在某个地方有这个:

panderOptions('table.alignment.default',
     function(df) ifelse(sapply(df, is.numeric), 'right', 'left'))

替换为:

panderOptions('table.alignment.default',
     function(df) ifelse(sapply(as.data.frame(df), is.numeric), 'right', 'left'))

工作正常。

感谢@daroczig找到了。