我尝试使用print.xtable add.to.row这样的表格格式:
体育
share of ballers 22.3
share of skiers 4.6
Run Code Online (Sandbox Code Playgroud)
瘾
share of smokers 20.3
share of drinkers 6.6
Run Code Online (Sandbox Code Playgroud)
我的R表确实包含额外的row.names,即使这些行不包含任何值.我使用add.to.row选项将颜色添加到不同的行,就像这里建议的那样工作正常.但是不起作用的是用xtable添加粗体文本或hline在行之间添加额外的文本.我总是收到如下错误消息:
Bad type area settings! 检测到的线宽比启发式确定的线宽大约52%(类型区域).
所以这可能意味着由于我的变化,桌子对于它的环境变得很大,但是不知道如何处理它.注意我读的帖子这样一个可修改xtable输出本身,但即使这可能可能对我来说,我在寻找一个简单的解决方案.因为如果我采用这种解决方案,我必须capture.output使用正则表达式替换来在它们之间添加一些东西.
有没有解决的办法?还是有一个更简单的解决方案?
ags*_*udy 11
对于该hline部分,请参阅?print.xtable.
hline.after:当'type="latex"'时,数字向量介于-1和'"nrow(x)"' 之间,包括在内,表示应出现水平线的行
要鼓励你所有的行名称:
bold.allrows <- function(x) {
h <- paste('\\textbf{',x,'}', sep ='')
h
}
print(xtable(yourTable),
sanitize.rownames.function = bold.allrows)
Run Code Online (Sandbox Code Playgroud)
要加粗一些行名称,可以为这些行添加"特殊标记",例如BOLD:
bold.somerows <-
function(x) gsub('BOLD(.*)',paste('\\\\textbf{\\1','}'),x)
print(xtable(yourTable),
sanitize.rownames.function = bold.somerows)
Run Code Online (Sandbox Code Playgroud)
例如:
require(xtable)
hh <- head(mtcars)[ , c(1:5)]
## I want to bold 1 and 3 rows
rownames(hh)[c(1, 3)] <- paste('BOLD', rownames(hh)[c(1, 3)])
print(xtable(hh), sanitize.rownames.function = bold.somerows)
Run Code Online (Sandbox Code Playgroud)