2016-09-07 60 views
1

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

是否有用闪亮的方式做这样的事情?

感谢

+0

是的,有一个'会话'对象,其中包含所有的输入和输出。见http://shiny.rstudio.com/reference/shiny/latest/session.html –

回答

0

我试图R环境保存在使用save.image的.RData文件,但它没有工作。尽管如此,使用saveload函数来存储和恢复.rda文件。

至于命名,你可以使用时间戳,也许用户区分。

编辑(例如)

好了,所以在此应用中有两个selectInput元素:第一,和第二。如果这些变化,这些输入的值,然后分配到两个变量:first_varsecond_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) 
+0

谢谢你的回答。我尝试使用'save'功能将输入保存到.RData文件中,它可以工作,但我没有设法使用'load'功能来恢复输入。你是如何做到的? – Ghoipy

+0

将其另存为.rda。如果你有两个变量:'save(file =“test.rda”,list = c(“first”,“second”))' 然后你可以随时使用'load(“test .rda“)'。 加载后,您将可以访问它们。即使在闪亮的应用程序。我正在添加一个示例,不久之后 – GyD

0

Shiny刚刚发布了0.14版本,其中包括可能是内置方法以满足您的需求的书签。有仪表盘,这将是适合你的情况的“先进的书签”这样的目的的具体教程:(?3.3,我认为) http://shiny.rstudio.com/articles/advanced-bookmarking.html http://shiny.rstudio.com/articles/bookmarking-state.html

的0.14升级需要的当前R版本。

+0

虽然此链接可能会回答问题,但最好在此处包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – ekad