首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以将DT、格式化和闪亮结合起来吗?

可以将DT、格式化和闪亮结合起来吗?
EN

Stack Overflow用户
提问于 2017-07-25 19:33:38
回答 1查看 3.6K关注 0票数 6

Formattable有一些简单的选项来格式化表格,例如:

代码语言:javascript
复制
library(shiny)
library(DT)
library(formattable)

  df <- formattable(iris, lapply(1:4, function(col){

    area(col = col) ~ color_tile("red", "green")

稍后可以将其转换为DT数据表

代码语言:javascript
复制
df <- as.datatable(df)

对我来说,在RStudion的查看器中查看它的效果非常好。然而,我想以某种方式将其部署为一个闪亮的应用程序。完整代码:

代码语言:javascript
复制
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,有一个线程:

How to use R package "formattable" in shiny dashboard?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-25 19:54:30

是的,这似乎是可能的,正如here也提到的那样。下面是一些关于如何实现这一点的示例代码:

代码语言:javascript
复制
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)
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45302045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档