如何从 Shiny 中的用户读取文件并将其分配给 global.r 中的变量?

数据挖掘 r CSV
2021-10-02 00:26:23

我想从 Shiny 中的用户那里读取一个 csv 文件作为输入,并将其分配给 global.r 文件中的一个变量。我在 ui.R 中的代码是

fileInput('file1', 'Choose CSV File',
                     accept=c('text/csv', 'text/comma-separated-values,text/plain', .csv'))

我在 server.R 主面板中的代码是

textOutput('contents')

我目前在 server.R 中的代码是

output$contents <- renderText({    
      if(is.null(input$file1))return()
      inFile <- input$file1
      data<-read.csv(inFile$datapath)
  print(summary(data))

 })

我想将此 input$file1 分配给 global.r 中名为“data”的变量。请让我知道这是否可能。谢谢

3个回答

我已将以下代码添加到 global.R 文件

data <- reactiveValues()

我使用 server.R 中的分配函数为 global.r 中的数据分配值

output$contents <- renderText({    
      if(is.null(input$file1))return()
      inFile <- input$file1
      data2<-read.csv(inFile$datapath)
  assign('data',data2,envir=.GlobalEnv)
  print(summary(data))
 })

我没有使用闪亮,但我尝试在我使用 gwidgets 编写的 gui 代码中创建一个 ariable 全局我使用data<<-read.csv(inFile$datapath) 你可以试试这个。

很抱歉简短的回答,但如果你使用闪亮的 rmarkdown,它可以完成,如这个问题所示:

https://stackoverflow.com/questions/29253481/data-specific-selectinput-choices-in-rmd-shiny/29255723#29255723

创建一个读取文件的反应函数!