使用DT包在R中的Shinyapp中的数据集输出不显示完整数据

时间:2017-03-14 20:54:03

标签: r shiny shinydashboard dt

我想在shinyapp输出上显示我的完整数据。我的数据集是31列宽,但使用DT :: renderDataTable我只能得到最多17列。我需要能够看到或者至少能够向右和向左滚动以查看我闪亮的应用程序上的整个数据表。这是下面的UI和SERVER代码。

我的问题:这可能吗?或者DT包可以在闪亮的应用程序中显示的列数是否有限制?

ui.interface <- fluidPage(title = "Pokemon Analysis", 
            tabsetPanel(
              ########### Data table below ##############
              tabPanel(title = "Pokemon Go",
                       # plotOutput("go"),
                       titlePanel("Pokemon Go"),
                       # Create a new Row in the UI for selectInputs
                       fluidRow(
                         column(4,
                                selectInput("evostage",
                                            "Evolution Stage:",
                                            c("All",
                                              unique(as.character(dt.pokemon$EvoStage))))
                         ),
                         column(4,
                                selectInput("evo",
                                            "Evolution:",
                                            c("All",
                                              unique(as.character(dt.pokemon$EvolutionPips))))
                         ),
                         column(4,
                                selectInput("battack",
                                            "Attack:",
                                            c("All",
                                              unique(as.character(dt.pokemon$BaseAttack))))
                         )
                       ),
                       # Create a new row for the table.
                       fluidRow(
                         DT::dataTableOutput("table")
                       ))
              ########### Data table above ##############
            )
)

以下是我的服务器代码......

server.interface <- function(input, output) {

########### Data table below ##############
output$table <- DT::renderDataTable(DT::datatable({
   data <- pokemon
   if (input$evostage != "All") {
     data <- data[data$EvoStage == input$evostage,]
   }
   if (input$evo != "All") {
     data <- data[data$EvolutionPips == input$evo,]
   }
   if (input$battack != "All") {
    data <- data[data$BaseAttack == input$battack,]
   }
   data
   }))
 ########### Data table above ##############
}
shinyApp(server = server.interface, ui = ui.interface)

1 个答案:

答案 0 :(得分:1)

您的问题似乎与this one类似。 如上面的链接所述,可以通过向renderDataTable函数添加options = list(scrollX = TRUE)参数来添加水平滚动条(在之后和 {之前)。< / p>