私は、多くのユーザー入力を持つShinyアプリケーションを作成しています。そのため、後で使用するために入力を保存して戻すオプションがあります。私はオンラインで見つかった例にしたがってこれを行うことができましたが、今はコードの機能を変更する助けを頼みたいと思います。ここでは、コードは次のようになります。R後で使用するために入力を保存するShiny App
今library(shiny)
ui <- shinyUI(fluidPage(
br(),
actionButton("load_inputs", "Load inputs"),
br(),
br(),
numericInput("n", "Number",min = 1, value = 5),
numericInput("upper", "Upper",min = 0, max = 100, value = 15),
numericInput("lower", "Lower",min = 0, max = 100, value = 5),
actionButton('save_inputs', 'Save inputs')
))
server <- shinyServer(function(input, output,session) {
switch(Sys.info()[['sysname']],
Windows= {setwd(file.path(Sys.getenv("USERPROFILE"),"Desktop",fsep="\\"))},
Mac = { setwd("~/Desktop/")})
observeEvent(input$load_inputs,{
if(!file.exists('inputs.RDS')) {return(NULL)}
savedInputs <- readRDS('inputs.RDS')
inputIDs <- names(savedInputs)
inputvalues <- unlist(savedInputs)
for (i in 1:length(savedInputs)) {
session$sendInputMessage(inputIDs[i], list(value=inputvalues[[i]]))
}
})
observeEvent(input$save_inputs,{
saveRDS(reactiveValuesToList(input) , file = 'inputs.RDS')
})
})
shinyApp(ui=ui,server=server)
、むしろ.RDSオブジェクトとしてファイルを保存するよりも、私は.csvファイルとしてファイルを保存したいRに精通していないユーザが実際に読むことができるような方法は、必要に応じてファイルを更新してください。だから私は(と値の例を)次の形式で.csvファイルとして保存するための入力のための希望:
n, 5
lower,10
upper, 29
簡単にRで操作することがあれば、それはまた
n, lower, upper
5, 10, 29
としてフォーマットすることができ
最後に、ファイルを読み込むときに、アプリケーションがファイルの場所を指すようにユーザーに依頼してから、ファイルを保存する場所をユーザーに尋ねるためにアプリケーションの入力を保存するといいでしょう。
これを達成するためにコードを編集するにはどうすればよいですか?
http://shiny.rstudio.com/articles/persistent-data-storage.html – Carl
@Carl私は、人々をhttp://deanattali.com/blog/shiny-japaneseの記事の元のソースに向けることを好む。 persistent-data-storage /にはRStudioのバージョンにはない更新があるので –
残念ですが、それは二重になっていることがわかりませんでした。 – Carl