我的应用需要很长时间来计算,所以在第一次加载时,我希望闪亮使用保存为csv文件的默认数据。但是,我希望用户能够通过按下操作按钮来更新此数据(以及生成的图表)。我尝试了一些配置。以下是observeEvent的简化版本。
default_data <- read.csv("./default_data.csv")
function(input, output) {
# Load default
data <- reactive(default_data)
# I wish this could get it to update
observeEvent(input$goButton, {
data <- rnorm(100, input$recid_rate)
})
# Plot
output$plot <- renderPlot({
hist(data())
})
}
我将它加载到默认数据的位置并在ggplot中进行可视化。但是操作按钮似乎不会覆盖默认数据。提前感谢您的想法!
答案 0 :(得分:1)
您的问题是data
应该响应2个不同的reactive
语句,并且不知道该怎么做。 Here是一个相关问题。
解决此问题的一种方法是创建一个包含数据的reactiveValues
对象:
rv<-reactiveValues(data=default_data)
然后使用observeEvent
:
observeEvent(input$goButton, {
rv$data <- rnorm(100, input$recid_rate)
})
并将其用于情节:
output$plot <- renderPlot({
hist(rv$data)
})