我闪亮的网络应用程序在哪里写表?

时间:2017-04-28 01:50:31

标签: r rstudio shiny shiny-server

我试图构建一个闪亮的网络应用程序,我想记录每个在线数据输入并将它们附加到.csv文件。

我目前的server.R代码如下所示。当我点击"运行App"它可以附加到我本地捆绑文件夹中的csv文件。在RStudio。但是在我将它们上传到https://brianzhang1994.shinyapps.io/Anqi/后,我不知道闪亮的应用程序在哪里写表。即使我下载了捆绑文件,里面的.csv文件与我上传的文件完全一样。

我该如何解决这个问题?

library(shiny)

shinyServer(function(input, output) {
output$tableforpatient <- renderDataTable({
patientall <- read.table("brian.csv")
patient <- data.frame(firstname=input$firstname,
                      lastname=input$lastname,
                      dob=input$dob,
                      number=paste0("+1",input$numbers),
                      email=input$email,
                      joined=Sys.Date())
write.table(patient, file = "brian.csv", sep = ",", append = TRUE,
            row.names = FALSE, col.names = FALSE)
patient
                                         })
                                     })

1 个答案:

答案 0 :(得分:0)

您可能想要使用reactiveValues

shinyServer(function(input, output) {
  my <- reactiveValues(patientall=read.table("brian.csv"))
  output$tableforpatient <- renderDataTable({my$patientall})
  observeEvent(input$submit, {
    patient <- data.frame(firstname=input$firstname,
                          lastname=input$lastname,
                          dob=input$dob,
                          number=paste0("+1",input$numbers),
                          email=input$email,
                          joined=Sys.Date())
    my$patientall <- rbind(my$patientall,patient)
  })
})

注意使用提交操作按钮以避免创建不完整的患者