【问题标题】:R Sweave: digits number in xtable of prop.tableR Sweave:prop.table的xtable中的数字
【发布时间】:2017-07-31 15:31:44
【问题描述】:

我在 R Sweave 上创建了一个xtableFtable,但找不到使用此代码抑制数字的方法。我在做什么假?我已经读到,如果您的值不是数字而是因子或字符,则可能会发生这种情况,但是prop.table 是否使它们成为非数字?我迷路了……

library(xtable)
a <- ftable(prop.table(table(mtcars$mpg, mtcars$hp), margin=2)*100)
b <- xtableFtable(a, method = "compact", digits = 0)
print.xtableFtable(b, rotate.colnames = TRUE)

我也已经尝试过digits=c(0,0,0,0...)

【问题讨论】:

  • 您的意思是在 sweave 或 LaTeX 文件的选项中尝试 b &lt;- xtableFtable(digits=0, a, method = "compact") 还是将 digits=4 作为默认值?
  • 非常感谢,它解决了我的问题!如果您将其写为答案,我会接受:)

标签: r digits xtable


【解决方案1】:

您可以使用options(digits) 来控制要打印的位数。尝试将options(digits = 4) 之类的东西作为代码的第一行(将4 更改为122 之间的任何值)。请参阅?options 了解更多信息。

或者在打印之前对值进行四舍五入

a = round(ftable(prop.table(table(mtcars$mpg, mtcars$hp), margin=2)*100), 2)
b = xtableFtable(a, method = "compact")
print.xtableFtable(b, rotate.colnames = TRUE)

【讨论】:

    【解决方案2】:

    xtableFtable 的“数字”参数似乎没有实现(我的版本是 1.8.3),因为在玩了半个小时之后似乎没有任何区别。

    函数文档中对此效果有提示:

    不建议用户更改aligndigitsalign的值。首先,替代值尚未经过测试。其次,很可能要确定这些参数的适当值,用户必须调查xtableFtable 和/或print.xtableFtable 的代码。

    它可能只是从xtable 函数(xtableFtable 肯定是基于它的)作为维护人员尚未解决的 TODO 继承而来的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多