Shiny for AWS中的文件输入小部件

时间:2018-04-04 15:46:51

标签: r amazon-web-services shiny shinydashboard

我在AWS环境中与R studio合作,我的文件存储在S3存储桶中。

我正在开发Shiny中的用户界面,并希望从S3上传文件,而不是从系统上传。

我的以下代码适用于从系统上传文件。

ui<- shinyUI(fluidPage(
  titlePanel("File Input"),
  sidebarLayout(
    sidebarPanel(
      fileInput("file","Upload the file"), # fileinput() function is used to get the file upload contorl option
      helpText("Default max. file size is 5MB"),
      tags$hr(),
      h5(helpText("Select the read.table parameters below")),
      checkboxInput(inputId = 'header', label = 'Header', value = FALSE),
      checkboxInput(inputId = "stringAsFactors", "stringAsFactors", FALSE),
      br(),
      radioButtons(inputId = 'sep', label = 'Separator', choices = c(Comma=',',Semicolon=';',Tab='\t', Space=''), selected = ',')
    ),
    mainPanel(
      uiOutput("tb")
    )

  )
))

server <-shinyServer(function(input,output){
  data <- reactive({
    file1 <- input$file
    if(is.null(file1)){return()} 
    read.table(file=file1$datapath, sep=input$sep, header = input$header, stringsAsFactors = input$stringAsFactors)

  })
  output$filedf <- renderTable({
    if(is.null(data())){return ()}
    input$file
  })

  output$sum <- renderTable({
    if(is.null(data())){return ()}
    summary(data())

  })


  output$table <- renderTable({
    if(is.null(data())){return ()}
    data()
  })


  output$tb <- renderUI({
    if(is.null(data()))
      h5("Powered by", tags$img(src='RStudio-Ball.png', heigth=200, width=200))
    else
      tabsetPanel(tabPanel("About file", tableOutput("filedf")),tabPanel("Data", tableOutput("table")),tabPanel("Summary", tableOutput("sum")))
  })
})
shinyApp(ui, server)

有人可以建议我如何从桶中上传。

另外,使用上面的代码,我收到错误&#34; line1,没有7个元素&#34;。

任何输入都会有所帮助,

0 个答案:

没有答案