【问题标题】:R shiny: save chosen factors from input dataR闪亮:从输入数据中保存选择的因素
【发布时间】:2018-04-09 09:14:17
【问题描述】:

我有一个关于 R shiny 和 observ 函数的问题。是否可以保存所选因素和工作状态?例如,我创建了一个程序,它可以从输入数据中选择 colnames。使用书签并使用浏览器中的链接重新打开程序后,会加载输入数据,但会重置 colnames 的选择因素。但我想保存选择的colnames。有人有想法吗?感谢您的帮助!

    ui <- function(request) {
  fluidPage(
    sidebarLayout(
      sidebarPanel(
        radioButtons(
          "fileType_Input",
          label = h5(""),
          choices = list(".csv" = 1, ".xlsx" = 2),
          selected = 1,
          inline = TRUE
        ),

        fileInput('file1', ''  ),
        selectInput("letters", label=NULL, factors, multiple = TRUE),
        bookmarkButton()
      ),
      mainPanel(
        tableOutput("contents")
      )
    )
  )
}
server <- function(input, output,session) {

  myData <- reactive({
    inFile <- input$file1

    # Get the upload file
    if (is.null(inFile)) {
      return(NULL) }

    if (input$fileType_Input == "1") {
      read.csv2(inFile$datapath,
                header = TRUE,
                stringsAsFactors = FALSE)

    } else {
      read_excel(inFile$datapath)
    }

  })


  observe({
    if(is.null(input$letters)){
      data <- myData()
      if(is.null(data)){

      }else{
        factors <- colnames(data)
        t$choices <- input$letters  # append(u$choices,input$letters2)
        updateSelectInput(session, "letters",
                          choices = factors #[!factors2 %in% u$choices)]
        )}
    }
  })

  #Display all input Data
  output$contents <- renderTable(digits = NULL,{
    df <-myData()
    df
  })

}
enableBookmarking("server")
shinyApp(ui, server)

【问题讨论】:

  • 你的例子并不准确。如果您想了解更多答案,请参阅this 链接。

标签: r input shiny


【解决方案1】:

您可以将所有需要的输入保存在一个文件中,然后使用 updateRadioButtons() 等函数重新应用它们。

将其保存到文件可能如下所示:

observeEvent(input$someRadioButton, {
  states <- list()
  states$someRadioButton <- input$someRadioButton 
  #you can save all the needed inputs like this
  ...
  save(states, file = paste0(getwd(), "/myfile"))
})

【讨论】:

  • 感谢您的帮助。我找到了一个页面:stackoverflow.com/questions/36230972/…,但我不明白 /home/user 是您的闪亮应用程序具有写入权限的文件夹。我的问题是现在应用程序说: readChar 中的警告(con,5L,useBytes = TRUE):无法打开压缩文件'/home/user',可能的原因'没有这样的文件或目录'或 readChar 中的警告(con,5L , useBytes = TRUE) : 无法打开压缩文件 '/home/user',可能的原因 'Permission denied' 你能帮我吗?
  • 针对新问题提出新问题。路径可能是错误的。错误说你正在尝试打开/home/user,根本没有这样的路径
猜你喜欢
  • 1970-01-01
  • 2021-07-16
  • 2018-09-23
  • 2016-03-16
  • 2020-07-04
  • 2016-11-21
  • 2020-08-01
相关资源
最近更新 更多