我试图构建一个闪亮的网络应用程序,我想记录每个在线数据输入并将它们附加到.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
})
})
答案 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)
})
})
注意使用提交操作按钮以避免创建不完整的患者