是否存在R或Tableau仪表板的控件,允许用户输入新数据并重新运行模型?

时间:2018-07-23 14:06:18

标签: r shiny tableau-server

我对仪表板还很陌生,想为我正在从事的项目提供一些意见。我为一个需要经常运行预测模型的组织工作。

今天,我在RStudio中编写了一个脚本模型,该模型从多个工作簿中提取数据,处理数字,然后输出预测值,然后将其存储在单独的工作簿中。

从现在开始,我将构建一个仪表板,以一种不错的方式显示实际(历史)和预测(未来)数据,可能使用闪亮的仪表板。仪表板将与组织内的其他人共享,可用于进一步分析。我知道该怎么做。

组织已经使用Tableau服务器已有一段时间了,因此将涉及一些集成。

但是,我偶尔会收到管理层的要求,将新数据引入预测,并报告新的预测结果,并提供比较。这并非完全耗时,但是在使用多个文件版本时会造成混乱。

是否存在一种简单的方法(一种控件或窗口小部件),使用户可以临时输入新数据,在后台运行整个预测模型,然后在R(首选)或Tableau中进行比较?

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在寻找fileInput中的

shiny。以下是在线文档中的示例。您可以在这里找到更多详细信息:File Upload Control

## Only run examples in interactive R sessions
if (interactive()) {

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      fileInput("file1", "Choose CSV File",
        accept = c(
          "text/csv",
          "text/comma-separated-values,text/plain",
          ".csv")
        ),
      tags$hr(),
      checkboxInput("header", "Header", TRUE)
    ),
    mainPanel(
      tableOutput("contents")
    )
  )
)

server <- function(input, output) {
  output$contents <- renderTable({
    # input$file1 will be NULL initially. After the user selects
    # and uploads a file, it will be a data frame with 'name',
    # 'size', 'type', and 'datapath' columns. The 'datapath'
    # column will contain the local filenames where the data can
    # be found.
    inFile <- input$file1

    if (is.null(inFile))
      return(NULL)

    read.csv(inFile$datapath, header = input$header)
  })
}

shinyApp(ui, server)
}