【发布时间】:2015-01-23 18:55:04
【问题描述】:
我将文件上传到闪亮(csv 或 excel)并使用文件数据创建一个对象。我希望这个对象是全局的,因为我在不同的输出中使用数据。
我的原始(简化)server.R 代码是:
shinyServer(function(input, output) {
output$contents <- renderTable({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
data <- read.csv(inFile$datapath, header = input$header, sep = input$sep, quote = input$quote, dec = ".")
data
})
output$grafic <- renderPlot({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
data <- read.csv(inFile$datapath, header = input$header, sep = input$sep, quote = input$quote, dec = ".")
barplot(table(data$SEVERIDAD), main="Severitat dels riscos detectats")
})
})
所以,我必须重复代码才能创建对象“数据”两次。
阅读其他帖子后,我尝试了此代码但不起作用:
inFile <- input$file1
if (is.null(inFile))
return(NULL)
data <- read.csv(inFile$datapath, header = input$header, sep = input$sep, quote = input$quote, dec = ".")
shinyServer(function(input, output) {
data <- reactive(data)
output$contents <- renderTable({
data <- data()
data
})
output$grafic <- renderPlot({
data <- data()
barplot(table(data$SEVERIDAD), main="Severitat dels riscos detectats")
})
})
我认为最后一个代码不起作用,因为加载应用程序时无法上传任何文件。
谢谢!
【问题讨论】: