gpt4 book ai didi

r - Shiny 的用户界面 : Save the Changes in the Inputs

转载 作者:行者123 更新时间:2023-12-04 12:35:08 25 4
gpt4 key购买 nike

我有很大的问题。我正在尝试运行具有多种不同设置的程序,这些设置可以在 ui 中进行设置。在我的情况下,用户可能需要多次使用相同的设置运行程序。我的问题是,如果您刷新或重新启动 UI,一切都将设置为默认值。例如:

numericInput("1", 
label = h4("...."),
4,
min=1,
max=100,
step=1
),
br(),
numericInput("2",
label = h4("..."),
1000000,
min=1,
max=100000000,
step=1
)

如果我将 numericInput "1"设置为 7,然后重新运行程序,它将默认为 4。由于我有很多这样的设置,这可能会引起轰动。所以我的问题是:“有没有办法保存我所做的更改?”

谢谢你:)

最佳答案

这是一个棘手的话题。最好有一个客户端解决方案。 HTML5 允许使用本地存储。有许多 javascript 库为此提供了简单的 api。我在其中一个周围放了一个包装器作为概念证明:

devtools::install_github("johndharrison/shinyStorage")
library(shinyStorage)
library(shiny)

runApp(
list(
ui = fluidPage(
addSS(),
uiOutput("textExample")
)
, server = function(input, output, session){
ss <- shinyStore(session = session)
output$textExample <- renderUI({
myVar <- ss$get("myVar")
if(is.null(myVar)){
textInput("textID", "Add some text to local storage")
}else{
textInput("textID", "Add some text to local storage", myVar)
}
})

observe({
if(!is.null(input$textID)){
if(input$textID != ""){
ss$set("myVar", input$textID)
}
}
})
}
)
)

所以演示看起来并不多。在 textInput 框中输入一些文本刷新您的浏览器,文本被记住 hip hurrah !该方法可以扩展到任何 R 列表,例如最大 10mb 的对象。我会在包装上再修改一些。

关于r - Shiny 的用户界面 : Save the Changes in the Inputs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com