Shiny

时间:2018-01-29 14:24:05

标签: r datatable shiny data.table

使用'格式表'包我可以在Shiny应用程序中为数据表的条目着色。但是,现在我已经在我的Shiny应用程序中添加了一个带下拉菜单的数据表,我无法让我的原始代码为下拉菜单中的各个下拉项目着色(为背景着色而不是文本将是最好的)。我收到类似于

的错误
  

Ops.factor(x)中的警告:'>'对因子无意义

或者只是字符串' undefined'而不是数据表。

到目前为止我所拥有的是:

server.R (仅打印重要部分):

# Setting up the input for the buttons in the table
shinyInput <- function(FUN, len, id, dropdown_input, ...) {
print(dropdown_input)
inputs <- character(len)
for (i in seq_len(len)) {
  inputs[i] <- as.character(FUN(paste0(id, i), label = "", choices = dropdown_input[, i]))
}
return(inputs)
}

# Generate the dropdown items
dropdowns <- data.frame(
  probabilities = shinyInput(selectInput, length(category_descriptions), id = 'dropdown_', dropdown_input = input_data))

df$data <- cbind(category, dropdowns)
})


prob_formatter <- formatter("span",
                          style = x ~ style(color = ifelse(x > 0.07, "green", ifelse(x < 0.07, "red", "black"))))

# Load the datatable after a csv file is uploaded
observeEvent(input$dataset, {
output$table <- DT::renderDataTable( {
return(as.datatable(formattable(df$data, list(probabilities = prob_formatter)), escape = FALSE, selection = 'none')
    )})
})

ui.R (仅打印重要部分):

# Main panel for displaying outputs ----
mainPanel(formattableOutput("table"))

可选背景信息:下拉菜单中的项目等于机器学习算法返回以对一袋单词进行分类的概率。最终,用户将能够选择正确的类别以提供反馈并改进基础模型。为了帮助用户,基于潜在概率着色模型在下拉菜单中返回的可能性背景将是很好的。我已经阅读过documentation格式表&#39;我认为&as; as.datatable.formattable&#39;可能是一种方法,但它似乎缺少我在R中的功能(重新安装包不会出现)。

1 个答案:

答案 0 :(得分:0)

我现在解决它的方法是将关于颜色的代码注入Shiny源代码中。这样,您就可以创建条件格式。