2016-07-12 5 views
1

Ich habe eine randsontable Tabelle (rhandsontable Paket) und jetzt suche ich einen Weg, wie Daten aus der Tabelle in einen Datenrahmen übertragen werden.
Bis jetzt habe ich noch keinen klaren Hinweis gefunden, wie ich diese Aktion durchführen kann.
Ich wäre sehr dankbar für das klare und klare Beispiel oder nützlichen Link.Konvertiere Daten von rhandsontable Objekt in Dataframe in Shiny

Außerdem habe ich eine nützliche link gescannt. Es wirft einen Blick auf das Licht, wie Daten innerhalb eines Objekts manipuliert werden können.

Es wurden jedoch keine Erklärungen zu den verwendeten Methoden gefunden. Es sieht aus wie ein Black Box Test. Es wäre schön, wenn Sie etwas Wissen über diese Angelegenheit (falls vorhanden) teilen könnten.

Antwort

2

Schauen Sie in die shinyskypackage, wie es Handsontable verwendet, die hot.to.df Funktion hat, dass Sie Ihre Datentabelle in dataframe zu konvertieren erlauben würde. Ich meine

rm(list = ls()) 
library(shiny) 
library(shinysky) 

server <- shinyServer(function(input, output, session) { 

    # Initiate your table 
    previous <- reactive({head(mtcars)}) 

    Trigger_orders <- reactive({ 
    if(is.null(input$hotable1)){return(previous())} 
    else if(!identical(previous(),input$hotable1)){ 
     # hot.to.df function will convert your updated table into the dataframe 
     as.data.frame(hot.to.df(input$hotable1)) 
    } 
    }) 
    output$hotable1 <- renderHotable({Trigger_orders()}, readOnly = F) 
    # You can see the changes you made 
    output$tbl = DT::renderDataTable(Trigger_orders()) 
}) 

ui <- basicPage(mainPanel(column(6,hotable("hotable1")),column(6,DT::dataTableOutput('tbl')))) 
shinyApp(ui, server) 
+0

danke für eine schnelle antwort. Ich werde es testen. –

+0

Ich habe ein solches Skript (abstrakt) verwendet: print (hot.to.df (Eingabe $ all_updates $ data)). Das Ergebnis ist null, das Objekt 'all_updates' ist ein rontsontabler Eintrag. Ist "hot.to.df" auf rightsandtable anwendbar? –

+0

Ich habe die Lösung gefunden - die Funktion 'hot_to_r' aus dem rendsontablen Paket. Es konvertiert in einen Datenrahmen. Sie können meine Antwort überprüfen. –

0

Nun unten ein minimales Beispiel, was zeigt, habe ich den Weg gefunden rhandsontable Objekt in Datenrahmen in R. konvertieren

Es scheint mit der Funktion ‚hot_to_r‘ als sehr einfach, aber die Gesamtfunktionsbeschreibung ist arm.

So einige Beispiele und Erklärungen außerhalb der package description (pdf) auf CRAN. In meinem Fall habe ich Black-Box-Tests verwendet.

Hier ist mein Fall:

test_case <- hot_to_r(input$all_updates) 

Die Variable 'test_case' ist ein Datenrahmen.

+0

Wohin geht dieser Code? Gibt es ein minimales Arbeitsbeispiel, das du posten kannst? – Matt

+0

@Matt was genau möchten Sie sehen? Hier ist mein Arbeitsskript von der Serverseite: zzz <- hot_to_r (Eingabe $ all_updates); drucken (zzz); Prädiktor_Vektor <- rep (Prädiktoren, now (zzz)); zzz <-cbind (Prädiktor_Vektor, zzz); Spaltennamen (zzz) [1] <- 'Vorhersage'; –

Verwandte Themen