Есть ли способ загрузить данные в определенную папку в R глянцевый? - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь загрузить фрейм данных в формате .csv в определенную папку. Но в моем случае, когда я нажимаю кнопку загрузки, данные загружаются в папку «Загрузка» на диске C.

library(shiny)

# Define UI for data download app ----
ui <- fluidPage(

  # App title ----
  titlePanel("Downloading Data"),

  # Sidebar layout with input and output definitions ----
  sidebarLayout(

    # Sidebar panel for inputs ----
    sidebarPanel(

      # Input: Choose dataset ----
      selectInput("dataset", "Choose a dataset:",
                  choices = c("rock", "pressure", "cars")),

      # Button
      downloadButton("downloadData", "Download")

    ),

    # Main panel for displaying outputs ----
    mainPanel(

      tableOutput("table")

    )

  )
)

# Define server logic to display and download selected file ----
server <- function(input, output) {

  # Reactive value for selected dataset ----
  datasetInput <- reactive({
    switch(input$dataset,
           "rock" = rock,
           "pressure" = pressure,
           "cars" = cars)
  })

  # Table of selected dataset ----
  output$table <- renderTable({
    datasetInput()
  })

  # Downloadable csv of selected dataset ----
  output$downloadData <- downloadHandler(
    filename = function() {
      paste(input$dataset, ".csv", sep = "")
    },
    content = function(file) {
      write.csv(datasetInput(), file, row.names = FALSE)
    }
  )

}

# Create Shiny app ----
shinyApp(ui, server)

Я также пробовал то же самое для сюжета. Я использовал file.copy(), чтобы сохранить файл в нужном месте, но он также не работает.

1 Ответ

0 голосов
/ 01 февраля 2020

Если вы хотите сохранить ваш файл в нужном месте, я думаю, что эта команда должна работать: output$downloadData <- downloadHandler( filename = function() { paste(setwd(),input$dataset, ".csv", sep = "")

Функция setwd () позволяет вам записать путь. Поэтому поместите вашу папку между () и обратите внимание на фактический рабочий каталог, используя getwd (). Надеюсь, это поможет.

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