【问题标题】:In R package Formattable, how to apply digits and conditional formatting at the same time?在 R 包 Formattable 中,如何同时应用数字和条件格式?
【发布时间】:2017-07-10 20:02:41
【问题描述】:

我有对象 TABLE_LIST,它是一个包含表格的列表(我无法提供隐私政策的内容,抱歉)。

我首先创建了对象 TABLE_LIST(它是 data.frames 2x12 的列表)

TABLE_LIST=lapply(1:4, function(x) data.frame(rbind(total.ratio4[[x]][-(1)], total.ratio2[[x]][-(1)]), row.names=row))

以下代码根据单元格上的值为我提供红色和绿色字体颜色,它就像一个魅力:

formattable(TABLE_LIST[[1]], list(area(,-(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"red","green"))),area(,(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"green","red"))))) 

但是,我需要颜色和逗号分隔的数字。我失败的尝试是:

formattable(TABLE_LIST[[1]], list(area(,-(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"red","green"))),area(,(c(5,10)))~formatter("span", style=x~style(color=ifelse(x>1,"green","red"),digits(x,2))),

area(1:2,1:10)~formatter("span",x~ style(digits(x,2))))) 

此代码运行良好,但会删除颜色的格式。我不知道还能做什么。

我不得不提一下,我不能在不搞砸一切的情况下更改原始 data.frame。所以我必须对 table_list 或 formattable 进行更改。谢谢。

【问题讨论】:

    标签: html r formattable


    【解决方案1】:

    我想我解决了。所以把这些小知识分享给可能和我有同样问题的人:

    formattable(TABLE_LIST[[1]], 
                list(
                    area(,-(c(5,10)))~formatter("span",
                                                style=x~style(color=ifelse(x>1,"red","green")),
                                                x~style(digits(x,4))),
                    area(,(c(5,10)))~formatter("span",
                                               style=x~style(color=ifelse(x>1,"green","red")),
                                               x~style(digits(x,4))))) 
    

    基本上,在同一个格式化程序中,在样式级别上,添加一个逗号和x~style

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      相关资源
      最近更新 更多