print.xtable与多行标题?

Mat*_*ert 7 r xtable knitr

我一直在尝试创建一个包含类似中断的标题的表.我在这里并不是太野心勃勃,并不关心我是否只是打破了很长的字符串或者只是一个两行标题.

dat <- matrix(round(rnorm(9, 20, 10)), 3, 3)
colnames(dat) <- c("some very long colname","short","another toooooooolong colname")
require(xtable)
m <- xtable(dat)

print(m,                  
              floating=FALSE, 
              hline.after=NULL,                  
              size="\\footnotesize",
              tabular.environment="tabular",
              add.to.row=list(pos=list(-1,0,nrow(m),0
                                       ), 
              command=c('\\toprule ',
                        '\\midrule ',
                        '\\bottomrule',
                        '\\\\ \\rowcolor[gray]{.9}'
                        )
                              )
              )
Run Code Online (Sandbox Code Playgroud)

有没有办法打破标题,因为我的表已不适合页面,虽然我landscape已经使用了.一些sanitize.rownames基于的技巧?摆弄\shortstack但无法让它去......

Bri*_*ggs 6

(将我的评论写成正确的答案)

在调用中xtable,您可以指定各种对齐参数,其中一个是parbox固定宽度,文本将被包装.这是指定p{1in}大括号内指定的值是框(列)的宽度的位置.您必须手动指定它(而不是让它适应可用空间),但它确实为您提供了一个包装文本的选项.