无法在 R Shiny 中设置数据样式 table

Not able to style data table in R Shiny

我正在尝试按照 here 所述设置 ELISA 数据(数字)table 的样式,但我收到代码

的以下错误
brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE) 

我按照网页中的描述使用了以下代码。有人可以指出我在这里遗漏了什么吗?

df <- matrix(nrow=8, ncol=12)
for (i in 1:8) {
  for (j in 1:12)
    df[i,j] <- format(as.numeric(elisa65[i,j])/as.numeric(elisa74[i,j]),digits = 4)
}

brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs <- round(seq(255, 40, length.out = length(brks) + 1), 0) 
              %>% {paste0("rgb(255,", ., ",", ., ")")}

DT::datatable(df)  %>% formatStyle(names(df), backgroundColor = styleInterval(brks, clrs))

我注意到您的代码中存在两个问题:

  1. clrs 是一个角色,您实际上并没有评估对 rgb
  2. df 是一个 matrix 并且您将其视为 data.frame 上面的代码

试试这个

require(dplyr)
require(DT)
df <- matrix(rnorm(8 * 12), nrow=8, ncol=12)

brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs <- sapply(round(seq(255, 40, length.out = length(brks) + 1), 0), 
               function(x) rgb(255, x, x, maxColorValue = 255))

df <- data.frame(df)
datatable(df)  %>% formatStyle(names(df), backgroundColor = styleInterval(brks, clrs))