如何重新加载闪亮的应用程序

时间:2016-09-07 13:16:24

标签: r shiny rdata

我开发了一个闪亮的应用程序(使用shinydashboard),我想保存“会话”(通过会话我的意思是输入的所有值和用户的数据加载)。我想将它保存在.RData文件中,然后能够重新启动应用程序,加载.RData文件并获取用户定义的数据和输入,从而输出...

有没有办法用闪亮的方式做这样的事情?

由于

2 个答案:

答案 0 :(得分:1)

我尝试使用save.image将R环境保存在.RData文件中,但它没有用完。然而,有用的是使用saveload函数来存储和恢复.rda文件。

至于命名,您可以使用时间戳来区分用户。

编辑(示例)

好的,所以在这个应用程序中有两个selectInput元素:第一个第二个。如果其中任何一项发生变化,则会将这些输入的值分配给两个变量: first_var second_var ,这些变量将保存到test.rda文件中。如果此文件存在,则变量将加载到会话中。

所以基本上,如果你先运行应用程序,每当你更改输入时,它们都会保存到.rda文件中。如果退出然后重新运行应用程序,则会加载变量,并将它们设置为输入的选定值。

library(shiny)
if(file.exists("test.rda")) load("test.rda")

ui <- fluidPage(
  selectInput("first",
              label = "First",
              choices = c("Value A", "Value B", "Value C"),
              selected = ifelse(exists("first_var"), first_var, "Value A")
  ),
  selectInput("second",
              label = "Second",
              choices = c("Value D", "Value E", "Value F"),
              selected = ifelse(exists("second_var"), second_var, "Value D")
  )
)

server <- function(input, output, session){
  observe({
    first_var <- input$first
    second_var <- input$second
    save(file = "test.rda", list = c("first_var", "second_var"))
  })
}

shinyApp(ui, server)

答案 1 :(得分:0)

Shiny刚刚发布了0.14版本,其中包括可能是内置方法的书签,以满足您的需求。有一个关于“高级书签”的特定教程,用于仪表板等适用于您的情况: http://shiny.rstudio.com/articles/advanced-bookmarking.html http://shiny.rstudio.com/articles/bookmarking-state.html

0.14升级需要当前的R版本(3.3,我认为?)。