该代码在Rstudio中正常工作,代码为
library(datatable)
library(shiny)
library(magrittr)
datatable(report) %>% formatStyle('status',target = 'row',
backgroundColor = styleEqual(c("Completed","Over run"), c('lightgreen','red')))
但是,我不知道如何输出此数据表/格式表?在闪亮。
错误提示:
no applicable method for 'as.htmlwidget' applied to an object of class "c('datatables', 'htmlwidget')"
答案 0 :(得分:0)
我希望这个小小的ShinyApp可以为您提供帮助。由于我没有您的数据框report
,因此我将其替换为iris
数据框。因此,formatStyle
将查找列Species
并为它们涂上不同的颜色。
在ui中,您可以通过DT::dataTableOutput("YourTableID")
定义输出,在服务器中,可以定义类似output$YourTableID <- DT::renderDataTable({ ... })
的输出,在其中放置代码以生成数据表。
您正在寻找的图书馆是DT
而不是datatable
。
library(DT)
library(shiny)
report <- iris
ui <- fluidPage(
DT::dataTableOutput("table")
)
server <- function(input, output, session) {
output$table <- DT::renderDataTable({
datatable(report) %>% formatStyle('Species',target = 'row',
backgroundColor = styleEqual(c("setosa","versicolor", "virginica"),
c('lightgreen','red', "yellow")))
})
}
shinyApp(ui, server)