Попытка записать блестящие данные приложения (CSV) в папку на рабочем столе. Сверкающее предупреждение: Ошибка в файле: не удается открыть соединение - PullRequest
0 голосов
/ 27 апреля 2018

Я очень новичок в программе «Блестящий» и пытаюсь создать опрос, в котором отправленные данные будут загружены в папку на моем рабочем столе.

Я использую эту статью в качестве руководства и в основном имею тот же код, но использовал опцию «локально сохраненный» для сохранения данных.

Когда я запускал приложение, файлы сохранялись в правильную папку на моем рабочем столе, но когда я публиковал на shinyapps.io и пытался отправить ответы с помощью URL, я получаю сообщение об ошибке: Предупреждение в файле (file, ifelse (append, "a", "w") а также невозможно открыть файл 'C: /Users/tolson/Desktop/Shiny/1524841166_57ededaa8d9c46a94f5bb4a352412699.csv': такого файла или каталога нет 2018-04-27T14: 59: 26.847383 + 00: 00 shinyapps [331397]: Предупреждение: ошибка в файле: невозможно открыть соединение

Это связано с разрешениями на запись блеска? Я уже потратил много времени на исследования, но не повезло. Любая помощь или понимание будет принята с благодарностью. Заранее спасибо.

Code: 
library(shiny)

# Define the fields we want to save from the form
fields <- c("name", "dog", "food")

# Save a response
# ---- This is one of the two functions we will change for every storage 
type ----
saveData <- function(data) {
  data <- as.data.frame(t(data))
  if (exists("responses")) {
    responses <<- rbind(responses, data)
  } else {
    responses <<- data
  }

}

# Load all previous responses
# ---- This is one of the two functions we will change for every storage 
type ----
loadData <- function() {
  if (exists("responses")) {
    responses
  }
}

# Shiny app with 3 fields that the user can submit data for
shinyApp(
  ui = fluidPage(
    DT::dataTableOutput("responses", width = 300), tags$hr(),
    textInput("name", "Name", ""),
    textInput("dog", "what is your favorite dog?"),
    textInput("food", "favorite food?"),
    actionButton("submit", "Submit")
  ),
  server = function(input, output, session) {

# Whenever a field is filled, aggregate all form data
    formData <- reactive({
      data <- sapply(fields, function(x) input[[x]])
      data
    })

# When the Submit button is clicked, save the form data
    observeEvent(input$submit, {
      saveData(formData())
    })

# Show the previous responses
# (update with current response when Submit is clicked)
    output$responses <- DT::renderDataTable({
      input$submit
      loadData()
    })     
    outputDir <- "C:/Users/tolson/Desktop/Shiny"

    saveData <- function(data) {
      data <- t(data)
      # Create a unique file name
      fileName <- sprintf("%s_%s.csv", as.integer(Sys.time()), 
digest::digest(data))
      # Write the file to the local system
      write.csv(
        x = data,
        file = file.path(outputDir, fileName), 
        row.names = FALSE, quote = TRUE
      )
    }

    loadData <- function() {
       # Read all the files into a list
      files <- list.files(outputDir, full.names = TRUE)
      data <- lapply(files, read.csv, stringsAsFactors = FALSE) 
      # Concatenate all data together into one data.frame
      data <- do.call(rbind, data)
      data
    }





     }
 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...