我正在尝试在R数据框中对行名进行分组,以便使用Hmisc latex()
函数进行排版。问题是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"))
编辑: 乳胶功能发生在针织块内。生成的.Rnw文件是通过knit2pdf函数编译的,我认为默认情况下使用pdfLatex。文档中的所有其他表格/图形编译正常,没有任何残留的LaTex语法显示。
答案 0 :(得分:2)
如果您将latex
与TeX处理器一起使用,它们将不会显示:
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
,因为它似乎{{1}不是返回一个值,而是更像latex
函数,它作为副作用输出到屏幕:
cat
然后,您可以使用带有文件参数的writeLines或cat将该文本发送到目标。我想你可能只需将out <- sub("^~~", "", capture.output(
latex(test.df, file="",
n.rgroup=c(2,2), rgroup=c("First","Second"))))
调用内联而不将结果转移到命名对象。这将取决于您处理此文本的确切方式。
答案 1 :(得分:1)
如果您不想使用LaTeX,那么我建议使用具有相当高级选项的ascii package来做一个很好的原始文本输出(它还有用于分组的rgroup&amp; n.rgroup选项)行名称)。如果你有兴趣将表格变成Word文档(或者只是HTML),我建议Markdown使用我的htmlTable function - 参数是基于Hmisc乳胶参数,因为我在切换到Markdown时需要替换,因此您需要做的就是在加载我的包后将函数名更改为htmlTable。