2017-03-14 2 views
1

Je souhaite afficher toutes mes données sur la sortie shinyapp. Mon dataset a une largeur de 31 colonnes mais en utilisant DT :: renderDataTable je ne peux obtenir que 17 colonnes maximum. Je dois être en mesure de voir ou au moins être en mesure de faire défiler vers la droite et la gauche pour voir l'ensemble de la table de données sur mon application brillante. Voici le code UI et SERVER ci-dessous.La sortie du dataset dans Shinyapp in R en utilisant le package DT n'affiche pas les données complètes

Ma question: Est-ce possible? Ou y a-t-il une limite au nombre de colonnes que DT package peut afficher dans l'application brillante?

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 ############## 
      ) 
) 

Ci-dessous est mon code serveur ...

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) 

Répondre

1

Il semble que votre question est semblable à this one. Comme décrit dans le lien ci-dessus, il est possible d'ajouter une barre de défilement horizontale en ajoutant le paramètre options = list(scrollX = TRUE) à la fonction renderDataTable (après ( et avant {).