如何分配 reactiveValues() Shiny
How to assign reactiveValues() Shiny
我想在我闪亮的应用程序中使用 reactiveValues()
,但我不知道该怎么做。
我有一个 actionButton
并且根据 actionButton
的状态,我想将 data.frame
分配给一些 reactiveValues
然后将由一些 observers
.
我写的是这样的
server.R
myDataFrame <- reactiveValues()
observeEvent(input$myButton, {
myDataFrame$forProcessing <- some.data.frame
})
observe({
#do something with myDataFrame$forProcecessing
})
但是,那会崩溃。我猜是因为 myDataFrame
被创建为 "empty" 的类型,然后导致我的 observe() #do something...
崩溃?!
如何正确创建 reactiveValues
以便它仅在填充时触发 observer()
?
您必须使用已有的内容创建反应值。解决方案是在反应值中放置一个空数据框,并在观察中确保 data.frame 为空时不会发生任何事情。所以:
myDataFrame <- reactiveValues(forProcessing = data.frame())
和:
observe({
if (nrow(myDataFrame$forProcessing) != 0) {
#do something with myDataFrame$forProcecessing
}
})
我想在我闪亮的应用程序中使用 reactiveValues()
,但我不知道该怎么做。
我有一个 actionButton
并且根据 actionButton
的状态,我想将 data.frame
分配给一些 reactiveValues
然后将由一些 observers
.
我写的是这样的
server.R
myDataFrame <- reactiveValues()
observeEvent(input$myButton, {
myDataFrame$forProcessing <- some.data.frame
})
observe({
#do something with myDataFrame$forProcecessing
})
但是,那会崩溃。我猜是因为 myDataFrame
被创建为 "empty" 的类型,然后导致我的 observe() #do something...
崩溃?!
如何正确创建 reactiveValues
以便它仅在填充时触发 observer()
?
您必须使用已有的内容创建反应值。解决方案是在反应值中放置一个空数据框,并在观察中确保 data.frame 为空时不会发生任何事情。所以:
myDataFrame <- reactiveValues(forProcessing = data.frame())
和:
observe({
if (nrow(myDataFrame$forProcessing) != 0) {
#do something with myDataFrame$forProcecessing
}
})