我正在尝试使用Hmisc latex()函数对R数据框中的行名进行分组以进行排版。问题是latex()在每个行名前面添加了两个波浪号字符,这两个字符出现在我的文档中。
如何删除这些字符或使它们不显示?
示例:
test.df <- data.frame(row.names=letters[1:4], col1=1:4, col2=4:1, col3=4:7)
latex(test.df, file="", n.rgroup=c(2,2), rgroup=c("First","Second"))编辑: latex函数发生在chunk块中。生成的.Rnw文件是通过knit2pdf函数编译的,我认为该函数默认使用pdfLatex。本文档中的所有其他表/图都编译得很好,没有显示任何残留的LaTex语法。
发布于 2013-07-26 05:26:22
如果您在TeX处理器上使用latex,它们将不会出现:
test.df <- data.frame(row.names=letters[1:4], col1=1:4, col2=4:1, col3=4:7)
latex(test.df, file="test", n.rgroup=c(2,2), rgroup=c("First","Second"))

如果您想“捕获”“打印”到屏幕上的文本,并使用sub删除双代字号,那么您可能需要使用capture.output,因为latex似乎没有返回值,而是更像cat函数,它的副作用是输出到屏幕:
out <- sub("^~~", "", capture.output(
latex(test.df, file="",
n.rgroup=c(2,2), rgroup=c("First","Second")))) 然后,可以使用带有文件参数的writeLines或cat将该文本发送到目的地。我认为您可以只将sub调用放在内联中,而不将结果转移到命名对象。这将取决于你是如何处理这个文本的。
发布于 2013-07-26 14:11:26
如果您不想使用LaTeX,那么我建议使用ascii package,它有非常高级的选项,可以输出很好的原始文本(它还具有用于对行名进行分组的rgroup & n.rgroup选项)。如果你对将表格放入Word文档(或者仅仅是超文本标记语言)感兴趣,我建议使用我的htmlTable function -参数是基于Hmisc latex参数的,因为当我切换到Markdown时,我需要一个替换参数,因此你需要做的就是在加载我的包之后将函数名改为htmlTable。
https://stackoverflow.com/questions/17868706
复制相似问题