【问题标题】:How to format columns in xtable output如何格式化xtable输出中的列
【发布时间】:2015-06-18 22:43:57
【问题描述】:

我有一个 data.frame DF,我正在使用 xtable 创建一个 HTML 表:

     Product    N° Clients     Capital (USD) Part. Capital (%) 
    1 A               536            2616925       33.62
    2 B               151            1613035       20.72
    3 c               112            1007983       12.95

问题是在生成html的时候:

    DF.TAB <- xtable(DF, align = "cccrc",latex.environments="center", format.args = list(digits = 2, format = c("s","d","d","d","f"), big.mark = ","), floating = FALSE)
    print(DF.TAB,type = "html", include.rownames=FALSE, file = "DF.TAB.html")

我希望某些列(Part.Capital)有两个小数位(即使某些元素可能是整数)和逗号分隔符“,”,并且其他列被视为整数,但结果不是这样:

     Product       N° Clients    Capital (USD) Part. Capital (%) 
    1 A               536          2616925.00       33.62
    2 B               151          1613035.00       20.72
    3 c               112          1007983.00       12.95

顺便说一句,我必须对齐和格式化一个“不可见”列,因为没有它我无法让它工作。 任何帮助将不胜感激。

【问题讨论】:

    标签: r


    【解决方案1】:

    这应该可行:

    DF[,3]<-format(as.numeric(DF[,3]),big.mark=",")
    DF.TAB <- xtable(DF, align = "cccrc",latex.environments="center", format.args = list(digits = 2, format = c("d","d","s","f")))
    print(DF.TAB,type = "html", include.rownames=FALSE, file = "DF.TAB.html")
    

    R 这导致

         Product N° Clients Capital (USD) Part. Capital (%)
    [1,] "A"     "536"      "2,616,925"   "33.62"          
    [2,] "B"     "151"      "1,613,035"   "20.72"          
    [3,] "c"     "112"      "1,007,983"   "12.95"
    

    HTML 版本如下所示:

    【讨论】:

    • 我现在测试了它。它适用于 xtable 并使用您发布的代码 sn-p 作为 HTML 输出。
    • 你是对的,但不要忘记最终输出在“Capital”(2,616,925)中显示大逗号且没有小数点并且在“Part Capital”(33.62)中始终显示两位小数也很重要
    • 如果您希望“N° Clients”中的特殊字符在HTML版本中正确显示,建议您编辑HTML文件并将°字符替换为&amp;deg
    猜你喜欢
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 2012-10-30
    相关资源
    最近更新 更多