我正在寻找一种更改变量的方法,该变量已在 Shiny 的应用程序中的 react 性上下文之外初始化。
含义:我需要根据 Shiny 的应用程序中发生的情况将两个变量设置为 TRUE
或 FALSE
。
这需要通过一个响应式(Reactive)函数来完成。
例子:
a <- FALSE
c <- FALSE
observeEvent(input$test, { #this triggers c to change to TRUE
a <- FALSE
c <- TRUE
)}
一些用户点击带有
label
测试的按钮> c
> TRUE
最佳答案
如果我正确理解了您的问题(您无法在 c
函数中更新 observeEvent
),您需要将 c
变量放入响应式(Reactive)中并在 observeEvent
中更改它:
variables = reactiveValues(a = FALSE, c = FALSE)
observeEvent(input$test, {
variables$a = FALSE
variables$c = TRUE
})
然后你可以在你的代码中使用
variables$c
,如果你按下按钮(例如一个情节),任何依赖于 variables
的东西都会被更新。