gpt4 book ai didi

r - 自从添加了 eventReactive 和 observeEvent 之后,Isolate 就不再起作用了吗?

转载 作者:行者123 更新时间:2023-12-04 09:45:31 29 4
gpt4 key购买 nike

之前,我构建了一个 Shiny 的仪表板,其中包含图表输出,效果很好,如下所示:

output$someName <- renderGvis({
input$inputButton

data <- isolate(myData(function here))
donut <- gvisDonut({...})

return(donut)
})

自从添加了 observeEvent 和 eventReactive 之后,我就无法让它像以前一样工作了。本质上,output$someName 是一个依赖于多个输入的图表,每次用户点击 inputButton 时,我都需要 renderGvis 重新计算。当任何其他输入发生变化时,仅当按下按钮时,该功能不应重新评估。

我很幸运让 observeEvent 在 input$inputButton 单击时运行,但是,每次我更改任何输入参数时,查询都会快速重新运行,而无需按下按钮。这里有人接单吗?

下面更详细:

output$someName <- renderGvis({
input$inputButton

data <- isolate(dataGrabber({})) # function that takes input and returns data frame using RMySQL

isolate(simpleChart(data = data)) # simpleChart is a function to produce a gvisCalendar chart.

最佳答案

好的...如果有人遇到过这个问题,请找到答案。由于某种原因我过去没有遇到过的问题是,无论 actionButton 的值是否为 0,隔离功能现在都会运行。我相信在过去,它不会运行,直到 actionButton 的值大于 0。

简单的修复是:

output$someName <- renderGvis({
input$inputButton
if (input$inputButton == 0)
return()

isolate({ code to isolate})
})

关于r - 自从添加了 eventReactive 和 observeEvent 之后,Isolate 就不再起作用了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33056360/

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