gpt4 book ai didi

r - 将输入保存在文件中以在另一个 session 中继续 R Shiny App 中的数据分析

转载 作者:行者123 更新时间:2023-12-03 17:50:23 24 4
gpt4 key购买 nike

我在一个很长的 Shiny 应用程序上工作,我想为用户提供将输入保存在 Rdata 文件中以便以后加载的可能性。

我设法通过 downloadhandler 做到了这一点, fileInputrenderUI ,
但是我有200多个输入,我肯定有一个简单的方法。

欢迎所有想法,提前致谢

迪米特里

shiny::runApp(list(
ui = pageWithSidebar(
headerPanel("Save Input"),
sidebarPanel(
downloadButton("download.input","Download Input"),
## Bolean to read or not the old input of the file load bellow
checkboxInput("use.list.input","Use Rdata for input",F),
fileInput('file.Rdata','Reload the input of a last session')
),
mainPanel(
## All the input will become uiOUtput
uiOutput("num1"),
uiOutput("num2")
)
),
server = function(input,output){
## The downloadHandler to write the current input
output$download.input <- downloadHandler(
filename = function() { paste0("input", '.csv') },
content = function(name) {
write.table(save.input(), file=name)
}
)
### Two object, one for write the current input, one for read the old input
save.input<-reactive({
data<-cbind(c("number1","number2"),c(input$number1,input$number2))
return(data)
})
table.input<-reactive({
inFile<-input$file.Rdata
table.input<-read.table(inFile$datapath)
return(table.input)
})
### RenderUI ###
output$num1<-renderUI({
if(input$use.list.input==T){
default<-table.input()[1,2]
}else{default<-1}
numericInput("number1","number1",default)
})
output$num2<-renderUI({
if(input$use.list.input==T){
default<-table.input()[2,2]
}else{default<-2}
numericInput("number2","number2",default)
})
}
))

最佳答案

也许 GitHub 上来自“aagarw30/R-Shinyapp-Tutorial”的这个条目会很有用。将访客计数器存储在单独的文件中类似于您的困境。

https://github.com/aagarw30/R-Shinyapp-Tutorial/tree/master/ShinyAppVisitorHitCounter

server.R 代码使用以下代码将数字更新加载到单独的 counter.Rdata 文件中:

 output$counter <- 
renderText({
if (!file.exists("counter.Rdata"))
counter <- 0
else
load(file="counter.Rdata")
counter <- counter + 1
save(counter, file="counter.Rdata")
paste("Hits: ", counter)
})

关于r - 将输入保存在文件中以在另一个 session 中继续 R Shiny App 中的数据分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22891087/

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