Hmisc tilde rowname

时间:2013-07-25 21:03:50

标签: r hmisc

我正在尝试在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语法显示。

2 个答案:

答案 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"))

enter image description here

如果您要“捕获”“打印”到屏幕上的文字,并使用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。