9

我正在构建我的第一个 Shiny 应用程序 - 您可以在此处访问实时版本:http: //justmytwospence.shinyapps.io/StepLively/

它工作正常,但您可能会在加载页面后立即看到我的问题。所有 hte 输出都取决于需要一段时间才能执行的反应导体(它实际上执行逐步回归的函数)。因此,我的输出会显示错误消息,直到反应导体完成执行。这只需要几秒钟,但它非常烦人和粗糙。

有没有办法安排反应端点的执行,以便在反应导体完成之前它们不会执行?或者 - 但不太有利 - 有一种方法可以测试电抗导体的可用性并在它不可用时显示其他内容。类似的东西if (reactive_conductor_function()) {blah}。但是,这行不通,因为它是一个函数。

编辑:我添加了一个“执行”按钮来完全绕过这个问题,所以它目前在应用程序中并不明显。

4

1 回答 1

2

您可以尝试以下方法:

if(is.null(reactive_conductor_function()){return(NULL)}
#rest of your code follows

或者

reactive_data <- reactive_conductor_function()
if(is.null(reactive_data)){return(NULL)}
#rest of your code follows

这两者都将阻止该代码块中的任何下游发生,直到 reactive_conductor_function 有数据之后。我不确定第一个,但我经常使用此代码的第二个版本。

如果您可以发布一些代码示例,我将能够提供更好的建议!

于 2014-01-02T16:29:23.480 回答