我开发了一个闪亮的应用程序(使用shinydashboard),我想保存“会话”(通过会话我的意思是输入的所有值和用户的数据加载)。我想将它保存在.RData文件中,然后能够重新启动应用程序,加载.RData文件并获取用户定义的数据和输入,从而输出...
有没有办法用闪亮的方式做这样的事情?
由于
答案 0 :(得分:1)
我尝试使用save.image
将R环境保存在.RData文件中,但它没有用完。然而,有用的是使用save
和load
函数来存储和恢复.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,我认为?)。