首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hmisc代字号行名

Hmisc代字号行名
EN

Stack Overflow用户
提问于 2013-07-26 05:03:50
回答 2查看 484关注 0票数 3

我正在尝试使用Hmisc latex()函数对R数据框中的行名进行分组以进行排版。问题是latex()在每个行名前面添加了两个波浪号字符,这两个字符出现在我的文档中。

如何删除这些字符或使它们不显示?

示例:

代码语言:javascript
复制
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语法。

EN

回答 2

Stack Overflow用户

发布于 2013-07-26 05:26:22

如果您在TeX处理器上使用latex,它们将不会出现:

代码语言:javascript
复制
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函数,它的副作用是输出到屏幕:

代码语言:javascript
复制
out <- sub("^~~", "", capture.output( 
                     latex(test.df, file="", 
                         n.rgroup=c(2,2), rgroup=c("First","Second")))) 

然后,可以使用带有文件参数的writeLines或cat将该文本发送到目的地。我认为您可以只将sub调用放在内联中,而不将结果转移到命名对象。这将取决于你是如何处理这个文本的。

票数 2
EN

Stack Overflow用户

发布于 2013-07-26 14:11:26

如果您不想使用LaTeX,那么我建议使用ascii package,它有非常高级的选项,可以输出很好的原始文本(它还具有用于对行名进行分组的rgroup & n.rgroup选项)。如果你对将表格放入Word文档(或者仅仅是超文本标记语言)感兴趣,我建议使用我的htmlTable function -参数是基于Hmisc latex参数的,因为当我切换到Markdown时,我需要一个替换参数,因此你需要做的就是在加载我的包之后将函数名改为htmlTable。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17868706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档