Я хочу использовать reactiveValues()
в моем блестящем приложении, но я не уверен, как это сделать.Как назначить reactiveValues () Shiny
У меня есть 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
получает созданный вид «пустой», который затем вызывает мой observe() #do something...
сбой ?!
Как создать reactiveValues
правильно, чтобы он запускал observer()
только при его заполнении?
О действительно? Я делаю это (создавая 'df' с' NULL'), но так как у меня много зависимостей от 'myDataFrame $ forProcessing', казалось, немного взломанно всегда вызывать' if else' для проверки 'NULL' в начале каждого observer ... – Stophface
Проблема в том, что Shiny необходимо определить, какие реакции будут существовать. Так что на лету добавление материала к нему не работает. Чтобы ограничить операторы 'if' в сценарии Shiny, вы можете сделать ваши функции надежными для ввода пустых данных, то есть они могут обрабатывать' data = data.frame() '. –
И что касается хакерства, я не видел структуру вашего приложения, поэтому сложно комментировать, является ли это недооптимальным решением. –