【发布时间】:2015-03-31 21:01:05
【问题描述】:
我正在尝试向我的 Shiny 应用程序添加文件上传功能。理想情况下,我希望用户能够上传 csv 文件,然后从下拉菜单中选择他们想要使用的变量。 当应用程序启动时,我最初预加载了一个数据集,下拉列表显示了该数据集的正确变量名称。但是,当我尝试上传不同的 csv 文件时,我似乎无法让下拉列表更新以显示上传的 csv 中包含的变量。这是我的代码:
server.R
library(shiny)
library(ggplot2)
inFile <- mtcars
shinyServer(function(input, output) {
tableData <- reactive({
inFile <<- input$file1
if (!is.null(inFile)){
read.csv(inFile$datapath, header=input$header, sep=input$sep,
quote=input$quote)
}
else {
inFile <<- mtcars
}
})
#for x values
output$opt.x <- renderUI({
selectInput("xcolumn", "X column to Plot", names(inFile))
})
})
ui.R
library(shiny)
shinyUI(fluidPage(
titlePanel("App"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose CSV File',
accept = c(
'.csv',
'.tsv')
),
uiOutput("opt.x")
),
mainPanel()
))
我也尝试将 output$opt.x 赋值放在读取文件的响应函数中,但这似乎没有帮助。
【问题讨论】:
-
实际上我误读了这个问题,我打算的赏金是一种使用闪亮重新上传相同文件的方法。