2016-08-04 11 views
0

Ich muss Balkendiagramme aus reaktiven Daten innerhalb eines renderDatatable-Befehls erstellen, also brauche ich diese Tabelle im data.frame-Format dazu. Ist es möglich, dies zu tun? Bisher habe ich versucht:Ist es nach Verwendung des Befehls renderDatatable möglich, diese Tabelle in einen eigenen Datenrahmen umzuwandeln?

tableAB <- reactive({tableA}) 
    mydata <- data.frame(tableAB) 

ich den Fehler

"Klasse kann nicht zwingen "get" reaktiv", "zu einem data.frame"

Einsicht in diese würde sehr geschätzt werden!

Antwort

0

Haben Sie versucht, die Daten, die in der Datentabelle angezeigt werden sollen, in einen Datenrahmen zu stellen? Ich würde dann den erstellten Datenrahmen als Daten verwenden, die in der Datentabelle gerendert werden sollen. Nach dem Filtern der Datentabelle durch die Benutzerschnittstelle könnte die "Eingabe $ tableId_rows_all" verwendet werden, um die Zeilenindizes zu erhalten und diese Indizes zu verwenden, um den Datenrahmen vor dem Plotten zu filtern.

Hilft es?

Dies ist ein Beispiel, wie Sie Datentabelle verwenden können, um einen Datenrahmen zu filtern, zum Plotten:

# ui.R #   
    library(shiny) 
    library(DT) 


    fluidPage(
      title = 'DataTables Information', 
      h1('A client-side table'), 
      fluidRow(
          DT::dataTableOutput('irisTable') 
          ), 
      fluidRow(
        plotOutput("irisPlot") 
      ) 
    ) 

library(shiny) 
library(DT) 



shinyServer(function(input, output, session) { 


    # render the table (with row names) 
    output$irisTable = DT::renderDataTable(iris, 
    server = FALSE, caption = "Column sum example", 
            filter = "top") 
    output$irisPlot <- renderPlot({ 
      gg <- ggplot(iris[input$irisTable_rows_all, ], 
      aes(x = Sepal.Length, y = Petal.Length)) 
      gg <- gg + geom_point() 
      print(gg) 
    }) 

})

+0

gibt es einen „renderdataframe“ Befehl? – eteuler

+0

Ich ging davon aus, dass die Daten, die Sie zum Füllen der Datentabelle verwenden, nicht von einem Datenrahmen kommen und dass Sie deshalb die Datentabelle in einen Datenrahmen ablegen mussten. Ich habe meine Antwort mit einem Beispiel für das Zeichnen eines mit Datentabelle gefilterten Datenrahmens bearbeitet. –