R DT数据表 - 连续值的条件颜色格式
R DT datatable - conditional colour format for continuous value
我想使用 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
变量中获取值(我在最终数据 table 中实际上不需要)。
这可以实现吗?
非常感谢。
看看 DT doc
2.9 转义 table 内容
您会发现可以将 HTML
内容放入 table 并使用 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 <- 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)
我想使用 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
变量中获取值(我在最终数据 table 中实际上不需要)。
这可以实现吗?
非常感谢。
看看 DT doc
2.9 转义 table 内容
您会发现可以将 HTML
内容放入 table 并使用 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 <- 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)