2

(shinydashboard を使用して) 光沢のあるアプリケーションを開発しました。「セッション」を保存したいと思います (セッションとは、入力のすべての値とユーザーによるデータ ロードを意味します)。それを.RDataファイルに保存してから、アプリを再起動し、.RDataファイルをロードして、ユーザーが定義したデータと入力、したがって出力を取得できるようにしたい...

光沢のあるそのようなことを行う方法はありますか?

ありがとう

4

2 に答える 2

1

を使用して R 環境を .RData ファイルに保存しようとしましたが、うまくいきsave.imageませんでした。saveただし、と関数を使用しloadて .rda ファイルとして保存および復元することでうまくいきました。

命名に関しては、ユーザーを区別するためにタイムスタンプを使用できます。

編集(例)

さて、このアプリにはfirstsecondselectInputの 2 つの要素があります。これらのいずれかが変更されると、これらの入力の値がfirst_varsecond_varの 2 つの変数に割り当てられ、ファイルに保存されます。このファイルが存在する場合、変数はセッションにロードされます。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)
于 2016-09-09T06:12:31.997 に答える
0

Shiny はバージョン 0.14 をリリースしました。これには、ユーザーのニーズを満たす組み込みのアプローチであるブックマークが含まれています。あなたの場合に適したダッシュボードなどの目的のための「高度なブックマーク」に関する特定のチュートリアルがあります: http://shiny.rstudio.com/articles/advanced-bookmarking.html http://shiny.rstudio.com/記事/bookmarking-state.html

0.14 へのアップグレードには、現在の R バージョン (3.3 だと思いますか?) が必要です。

于 2016-10-08T10:26:51.193 に答える