Использование Source() в Shiny

У меня есть рабочее приложение R, которое я хочу сделать доступным через Интернет, используя Shiny. Мое приложение получает файл как вход, поэтому клиент загружает файл через ui.R. server.R получает файл, а затем я хочу вызвать свое приложение. Однако, когда я использую source(), myApp не знает файл, который я получил на сервере .R и выдает ошибку: объект не найден. Это код для сервера .R

shinyServer(function(input, output) {

   output$contents <- renderTable({
   inFile <- input$file1
   if (is.null(inFile))
      return(NULL)
   else{
      tdata <- as.matrix(read.table(inFile$datapath))
      head(tdata, n = 2)
      source("./CODE/run_myApp.r")
   }
  })
})

Однако myApp не включает tdata (который необходим в качестве входного файла в моем текущем приложении).

Ответ 1

Чтобы использовать источник в своем блестящем приложении, вам нужно вызвать аргумент local = TRUE, чтобы в этом случае:

shinyServer(function(input, output) {

   output$contents <- renderTable({
   inFile <- input$file1
   if (is.null(inFile))
      return(NULL)
   else{
      tdata <- as.matrix(   read.table(inFile$datapath))
      head(tdata, n = 2)
      source("./CODE/run_myApp.r", local = TRUE)
   }
  })
})