我的代码看起来像
observe ({
#subset someDataframe which I need in the observeEvent()
observeEvent(input$Numbers{
#if not NULL, do something with subsetted dataframe
})
})
我有一个observe()
函数,可以从ui.R
获取输入。根据输入,我对将在应用程序中显示的数据框进行子集化。
需要进一步的子集化,但此字段可以为空。如果选择为空(因此,Unhandled Error
),则使用NULL
函数来避免observeEvent()
。如果该字段保持为空,则不会引发错误。
虽然有一些奇怪的行为。我打印出observeEvent()
观察到的内容(在我的R控制台中)。当我选择observeEvent()
函数观察到的内容时,所选内容会被打印一次。当我更改由简单observe()
观察到的选择,然后在observeEvent()
观察到的选择中更改某些内容时,它会打印两次。当我更改observe()
函数观察到的选择,然后从observeEvent()
中选择时,它会被打印三次 - 依此类推。
因此,根据我更改observed()
函数所观察到的选择的频率,observeEvent()
会经常执行。
为什么?!
答案 0 :(得分:0)
根据我的评论:
subset <- reactive({
# Do your sub-setting here
if(!is.null(input$Numbers)){
#Do something else
}
# return (your_subset)
})