gpt4 book ai didi

r - Shiny 的 : run code only once after button clicked

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

一旦用户选择了输入参数,我就会在 Shiny 应用程序中运行相当耗时的计算。为了确保计算不会运行不必要的时间,我做了以下操作按钮:

 actionButton('seeData','see Data' )

然后,我尝试使用以下代码在每次单击按钮时只运行一次这个耗时的计算(并且永远不会在没有按钮单击时运行):
 observeEvent( input$seeData, {

...long, includes several function calls...

})

observeEvent我确实引用了其他输入参数。

我发现无论我调整输入参数多少次,计算都不会第一次运行,直到我按下按钮。 但是,一旦我按下按钮一次,只要更改了任何输入参数,就会运行计算。 当我只按下按钮一次时,为什么代码会运行第二次、第三次、第四次(等等)?

我的目标似乎只是 typical use case ,但我想 observe 有点棘手或 isolate observeEvent 的方面我不明白。我做错了什么,如何实现一键式计算功能?

最佳答案

在操作按钮上使用 enable() 和 disable() 。
所以当按钮被点击时(在长时间计算之前)禁用按钮直到计算完成......
然后最后再次重新启用按钮......

关于r - Shiny 的 : run code only once after button clicked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33355887/

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