Доступ к загруженному файлу в виде блеска в других файлах abc.r кроме server.r - PullRequest
0 голосов
/ 25 сентября 2018

В моем server.r я читаю загруженный файл, используя

  dat <- reactive({
          if (is.null(input$datafile1$datapath))
             {
                dat <- read.csv("D:/sample_withbatch.csv")

                read.csv("D:/sample_withbatch.csv")
                x<<-dat



                } else {
                dat <- read.csv(input$datafile1$datapath)

                read.csv(input$datafile1$datapath)
                x<<-dat

                }

  })

Используя dat (), я могу получить доступ к загруженному файлу.

Теперь я хочу другую программу, например, abc.rТакже следует автоматически обновить фрейм данных с именем df.data с содержимым загруженного файла и отобразить графики в блестящем.У меня есть этот код в global.r:

source("abc.R",local = TRUE)

Не работает.

1 Ответ

0 голосов
/ 27 сентября 2018

Вот как это можно сделать:

ui.R

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      fileInput("file1", "Choose CSV File",
                accept = c(
                  "text/csv",
                  "text/comma-separated-values,text/plain",
                  ".csv")
      )
    ),
    mainPanel(
      plotOutput("distPlot"),
      tableOutput("contents")        
    )
  )
)

server.R

server <- function(input, output) {

  dat <- reactive({
    req(input$file1) # require that input is available, prevents error when no data uploaded
    inFile <- input$file1
    df <- read.csv(inFile$datapath)
    return(df)
  })

  output$distPlot <- renderPlot({
    plot(dat()["name.of.column"])
  })

  output$contents <- renderTable({
    dat()
  })

}

Вы можете загрузить данные, используя read.csv(inFile$datapath) иполучить доступ к нему, сделав его реактивным значением, как вы сделали.Кроме того, убедитесь, что вы поместили ваши ui.R и server.R в одну и ту же директорию и запустите свое приложение, используя runApp("your_directory_path")

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