可以结合 DT、可格式化和闪亮吗?
Possible to combine DT, formattable and shiny?
Formattable
有一些简单的选项来格式化 table,例如:
library(shiny)
library(DT)
library(formattable)
df <- formattable(iris, lapply(1:4, function(col){
area(col = col) ~ color_tile("red", "green")
稍后可以将其转换为 DT
数据table
df <- as.datatable(df)
对我来说,它非常适合在 RStudion 的查看器中查看。但是,我想以某种方式将它部署为一个闪亮的应用程序。完整代码:
library(DT)
library(shiny)
ui <- fluidPage(
DT::dataTableOutput("table1"))
server <- function(input, output){
df <- formattable(iris, lapply(1:4, function(col){
area(col = col) ~ color_tile("red", "green")
}))
df <- as.datatable(df)
output$table1 <- DT::renderDataTable(DT::datatable(df))
}
shinyApp(ui, server)
这不起作用,有什么变通办法吗?我喜欢 formattable
的条件格式,但也想使用 DT
提供的一些选项,例如过滤、搜索、colvis 等。
要将其部署为 formattable
有一个线程:
是的,这似乎是可能的,如前所述here。以下是有关如何实现该目标的一些示例代码:
library(shiny)
library(data.table)
library(formattable)
ui <- fluidPage(
selectInput("input1","Species: ", choices = c("setosa", "versicolor", "virginica")),
DT::dataTableOutput("table1"))
# make a data.table of the iris dataset.
df <- iris
server <- function(input, output){
output$table1 <- DT::renderDataTable( {
my_df <- df[df$Species==input$input1,]
return(as.datatable(formattable(my_df, lapply(1:4, function(col){area(col = col) ~ color_tile("red", "green")}))))
}
)
}
shinyApp(ui, server)
Formattable
有一些简单的选项来格式化 table,例如:
library(shiny)
library(DT)
library(formattable)
df <- formattable(iris, lapply(1:4, function(col){
area(col = col) ~ color_tile("red", "green")
稍后可以将其转换为 DT
数据table
df <- as.datatable(df)
对我来说,它非常适合在 RStudion 的查看器中查看。但是,我想以某种方式将它部署为一个闪亮的应用程序。完整代码:
library(DT)
library(shiny)
ui <- fluidPage(
DT::dataTableOutput("table1"))
server <- function(input, output){
df <- formattable(iris, lapply(1:4, function(col){
area(col = col) ~ color_tile("red", "green")
}))
df <- as.datatable(df)
output$table1 <- DT::renderDataTable(DT::datatable(df))
}
shinyApp(ui, server)
这不起作用,有什么变通办法吗?我喜欢 formattable
的条件格式,但也想使用 DT
提供的一些选项,例如过滤、搜索、colvis 等。
要将其部署为 formattable
有一个线程:
是的,这似乎是可能的,如前所述here。以下是有关如何实现该目标的一些示例代码:
library(shiny)
library(data.table)
library(formattable)
ui <- fluidPage(
selectInput("input1","Species: ", choices = c("setosa", "versicolor", "virginica")),
DT::dataTableOutput("table1"))
# make a data.table of the iris dataset.
df <- iris
server <- function(input, output){
output$table1 <- DT::renderDataTable( {
my_df <- df[df$Species==input$input1,]
return(as.datatable(formattable(my_df, lapply(1:4, function(col){area(col = col) ~ color_tile("red", "green")}))))
}
)
}
shinyApp(ui, server)