在R闪亮仪表板中输入2个表

时间:2018-03-12 08:49:36

标签: r shinydashboard

我希望有一个规定来输入2个表格,即在R闪亮的仪表板中进行训练和测试以进一步分析。

我是Shiny Dashboard的新手,请帮我解决这个问题。

由于 巴拉吉

1 个答案:

答案 0 :(得分:0)

你走了。 假设您的文件采用read.table()读取的格式,此示例将为您提供一个有用的工作。

您可以使用fileInput()输入文件,这可以是.csv,.txt或.RData中的任何格式或您需要的任何其他文件类型。

您在UI中使用fileInput("Table1",...)。然后在应用程序的server()函数中,您可以通过input$Table1访问输入文件。具体而言,文件将上载并保存在您可以使用input$Table1$datapath

访问的临时位置

使用此文件位置,您应该能够对现在上传到闪亮应用程序的数据执行任何操作。在下面的示例中,我只使用read.table()读取数据,然后在UI中的两个数据表中显示数据。

## app.R ##
library(shiny)
library(shinydashboard)

# A minimal dashboard page
#   Sidebar for file inputs
#   Main body to show 2 datatables
ui <- dashboardPage(
  dashboardHeader(title = "Two tables for further analysis"),
  dashboardSidebar(
    h2("fileInput() to upload files"),
    fileInput("Table1", "Input file for train data"),
    fileInput("Table2", "Input file for test data")
  ),
  # A body for two datatables to show the data input
  dashboardBody(
    fluidPage(
      fluidRow(
        column(width=6,
               DT::dataTableOutput("Train")),
        column(width=6,
               DT::dataTableOutput("Test"))
  )
)
))

server <- function(input, output) {
  output$Train <- DT::renderDataTable({
    # NULL if no input given
    if (is.null(input$Table1)) return(NULL)

    # Else... read table (input$Table1 is a list of componenent - the 'datapath' field is the temp file location)
    read.table(input$Table1$datapath) # Assuming you have a file to read with read.table()
  })

  # Using output$Test - we can use datatableOutput("Test") to show the datatable in the UI
  output$Test <- DT::renderDataTable({
    # NULL if no input given
    # 
    if (is.null(input$Table2)) return(NULL)
    # Else... read table (input$Table1 is a list of componenent - the 'datapath' field is the temp file location)
    read.table(input$Table2$datapath) # Assuming you have a file to read with read.table()
  })

  # You can of course read the data for your own purpose
  #   Not for a datatable, but to do follow-up analysis
  #   
  #   Further, you can also upload .RData files for example - or any other file.
}

# Run the shiny app
shinyApp(ui, server)

下次请更具体一点,举一个你已经尝试过的例子。 我不知道你正在尝试使用哪种类型的数据格式...希望这会有所帮助!