我正在整理一个闪亮的应用程序并尝试以下几行:
require("shiny")
ui <- fluidPage(
fluidRow(fileInput(inputId = "dataFile", label = NULL)),
fluidRow(wellPanel(tableOutput(outputId = "rawText")))
)
server <- function(input, output) {
observe({
upFile <- input$dataFile
if(!is.null(upFile)) {
raw.dat <<- reactive({
read.csv(file = upFile$datapath, header = TRUE, stringsAsFactors = FALSE)
})
} else raw.dat <<- reactive({})
})
output$rawFile <- renderTable(as.data.frame(raw.dat()))
}
shinyApp(ui = ui, server = server)
然而即使在我上传文件后,raw.dat()
总是,总是返回NULL。
我缺少什么?
答案 0 :(得分:0)
让你的raw.dat
对象被动反应。因为它依赖于input$dataFile
,它会为你做观察。
raw.dat <- reactive({
upFile <- input$dataFile
if (is.null(inFile)) return(NULL)
read.csv(upFile$datapath, header = TRUE, stringsAsFactors = FALSE)
})
答案 1 :(得分:0)
您上传的文件可能大于允许的默认大小,请使用以下命令更改可接受的值:
options(shiny.maxRequestSize = MB*1024^2) #Change MB to suit your needs