2017-10-06 6 views
0

Also im Grunde versuche ich, ein kleines Setup der Arten zu machen und sobald eine bestimmte Analyse durchgeführt wird, würde ich einen bestimmten erzeugten Datensatz an einen vordefinierten Ort und einen vordefinierten Namen (basierend auf der Eingänge zuvor ausgewählt). Zu diesem Zweck habe ich die Aktionstaste, die, wenn diese angeklickt hat,Write.csv mit Aktionsbuttons

observeEvent(input$export_button, { 
     write.csv(input_dummy_data4ads,paste0("Dummy Files/",unique(input_dummy_data4ads$Dependent_Variable),"_", unique(input_dummy_data4ads$Model_Type),"_", unique(input_dummy_data4ads$AGM),".csv"),row.names = F,na="") 
      }) 

Das Problem hier ist, dass wenn ich die Aktionstaste einmal klicken, wird die gewünschte Datei csv erzeugt und an der gewünschten Stelle zu. Aber nach einmaligem Drücken nimmt es den Wert 1 (Eingabe $ export_button). Wenn ich mit den Optionsfeldern einen neuen Satz von Eingaben auswähle und daraus ein neues Diagramm erzeuge (indem ich auf eine andere Aktionsschaltfläche klicke), speichert die App ein Neue csv-Datei mit einem neuen Namen (basierend auf den neuen Eingaben) am gewünschten Ort. Was ich versuche, ist, den Wert der Aktionsschaltfläche so zurückzusetzen, dass die neue CSV-Datei nur erstellt wird, wenn ich sie jedes Mal anklicke. in glänzend für diese

Ich habe versucht, dies zu verstehen, aber es https://github.com/rstudio/shiny/issues/167

Antwort

0

Es spezifische Funktionen sind nicht enthalten könnte, verwenden downloadButton in Ihrem ui und downloadHandler in Server.

server.R:

output$export_data <- downloadHandler(
    filename = function() { 
    paste0("Dummy Files/", unique(input_dummy_data4ads$Dependent_Variable), "_", unique(input_dummy_data4ads$Model_Type), "_", unique(input_dummy_data4ads$AGM), ".csv") 
    }, 
    content = function(con) { 
    write.csv(input_dummy_data4ads, con, row.names = F, na = "") 
    } 
) 

ui.R:

downloadButton("export_data", "Export") 
+0

Downloadbutton scheint nicht eine Datei, die ich bin zu erzeugen in dem Server in einem vorher definierten Ort zu automatisch speichern und ein vordefinierter Name Deshalb habe ich versucht, actionButton zu verwenden, was funktionierte (oder so dachte ich), bis ich erkannte, dass es zum ersten Mal effizient funktioniert. –

+0

@DanSchmidt, basierend auf Ihrem Kommentar, nehme ich an, Sie tun dies nur auf Ihrem lokalen Rechner und nicht mit * shiny-server *, normalerweise sind diese Dateien vorübergehend. Es scheint, dass Sie mehr suchen, um den 'actionButton' zurückzusetzen, der nur Ihren Code" isolieren "soll, siehe [this] ( –

+0

) Sir, danke für Ihre Antwort und nun habe ich den gleichen Link gesehen, aber wie ich schon erwähnt habe, konnte ich ihn nicht einbauen. –

Verwandte Themen