编辑 我找到了答案并在下面发布。我认为它在数学模式下工作的唯一原因是因为我正在运行一个示例并且从未见过 sanitize-text-function
参数被传递给打印方法。一旦可用,我将接受此答案。
我正在排版手稿并对其进行数据分析。在此分析中,我生成了一个表 1,并希望在表中缩进一些行名称以使其具有级联感。
我拥有的数据示例是:
require(xtable)
data <- data.frame(
'case'=sample(c('case', 'control'), 100, replace=TRUE),
'age'=sample(c('40-50,', '50-60', '60-70'), 100, replace=TRUE),
'sex'=sample(c('male', 'female'), 100, replace=TRUE),
'income'=sample(c('under 50,000', '50-100,000', 'over 10000'), 100, replace=TRUE)
)
tables <- lapply(data[, -1], table, data[, 1])
tables <- lapply(tables, function(x) {
rownames(x) <- paste('\\hspace{5mm}', rownames(x))
x
})
tablenames <- names(tables)
tables <- Reduce(rbind, mapply(rbind, '', tables))
rownames(tables)[rownames(tables) == ''] <- tablenames
xtable(tables)
xtable(tables, type='latex', sanitize.text.function=identity)
我知道最后两个 xtable 命令应该返回不同的表。我正在使用最新版本的 R 和 xtable。
最佳答案
嗯……显然,sanitize.text.function
是 print.xtable
的参数而不是 xtable
本身。正在做print(xtable(tables), type='latex', sanitize.text.function=identity)
解决了这个问题。
关于r - 不在数学模式下时,无法使文本清理功能在 xtable 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18901762/