【问题标题】:R DT datatable - conditional colour format for continuous valueR DT 数据表 - 连续值的条件颜色格式
【发布时间】:2016-11-20 16:57:24
【问题描述】:

我想使用 R 中的 datatable 函数应用条件格式。考虑以下场景:

test <- data.frame(
  var1 = sapply(1:L, function(x)
    paste("<X>",paste0(x,
                       letters,
                       LETTERS,
                       "\n",
                       collapse=" "))),
  var2 = round(rnorm(L),2)
)

test$var2 <- ifelse(test$var2 > 1, 1, test$var2)
test$var2 <- ifelse(test$var2 < -1, -1, test$var2)
test$tmp  <- test$var2*255
test$R    <- test$G <- 0
test$R    <- ifelse(test$tmp < 0, round(abs(test$tmp)), test$R)
test$G    <- ifelse(test$tmp > 0, round(test$tmp), test$G)
test$col  <- paste0("rgb(",test$R,",",test$G,",0)")

test <- test[,c("var1","var2","col")]

datatable(test)

我想使用var1 的字体颜色从col 变量中获取值(我在最终数据表中实际上并不需要)。

这有可能实现吗?

非常感谢。

【问题讨论】:

    标签: jquery r datatable dt


    【解决方案1】:

    看看DT doc

    2.9 转义表格内容

    您将看到您可以将HTML 内容放到您的表格中,并使用escape=F使其在HTML 中可读。

    您可以对数据框的变量执行类似操作。

    apply(yourMatrix,2,function(x) ifelse(x>value,  
    paste0('<span style="color:red">',x,'</span>'),
    paste0('<span style="color:blue">',x,'</span>')
    )
    

    例如,如果您有一个向量 x &lt;- c(1,2,3,4) 并且希望大于 0 的值是红色的,那么您将拥有

    [1] "<span style=\"color:red\">1</span>"
    [2] "<span style=\"color:red\">2</span>"
    [3] "<span style=\"color:red\">3</span>"
    [4] "<span style=\"color:red\">4</span>"
    

    然后
    datatable(yourMatrix, escape = FALSE)

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 2016-09-23
      • 2017-07-22
      • 2018-10-21
      • 2021-02-18
      • 1970-01-01
      • 2015-08-18
      • 2018-02-06
      • 1970-01-01
      相关资源
      最近更新 更多