R Shiny - загрузка набора данных в первом чанке не существует во втором чанке...?
У меня странная ошибка в блестящем приложении, которое я построил с помощью библиотеки. Ошибка " Объект не найден " в отношении объекта, который я только что загрузил и только что визуализировал (имеется в виду, что объект существует?)
Хотя у меня нет воспроизводимого примера, некоторые из вас, возможно, поймут, что создает ошибку:
У меня есть первый кусок {r load}, который загружает набор данных. Здесь нет ошибки, я даже могу визуализировать набор данных (скриншот ниже)
Затем у меня есть второй кусок, где я хотел бы манипулировать набором данных. Но он говорит мне, что набор данных не существует! Как это могло быть возможно, я просто визуализировал это одним куском раньше?! ...
Я не понимаю, как набор данных может существовать в чанке, а не в другом. Означает ли это, что набор данных не загружается в глобальной среде? Это проблема с библиотекой Learr?
Может быть, у кого-то будет идея, или что-то, что я мог бы проверить. Заранее спасибо.
РЕДАКТИРОВАТЬ: проблема о среде / рабочей области. В первом блоке, даже если я загружаю набор данных, он не сохраняется в среде. Я проверил функцию ls()
во втором блоке, и он говорит мне, что в рабочей области нет объекта. Загруженного набора данных здесь нет, я не знаю почему...
1 ответ
На мой взгляд, блестящий не хранит никаких данных. Вы должны передать его вручную из одного блока в другой, как следует (добавление только фрагмента кода из server
):
server <- function(input, output, session) {
output$heat <- renderPlotly({
Name<-c("John","Bob","Jack")
Number<-c(3,3,5)
Count<-c(2,2,1)
NN<-data.frame(Name,Number,Count)
render_value(NN) # You need function otherwise data.frame NN is not visible
# You can consider this as chunk 1
})
render_value=function(NN){
# Here your loaded data is available
head(NN)
# You can consider this as chunk 2
})
}
}
shinyApp(ui, server)
Вы можете найти полный код здесь: Подмножество кадра данных на основе события щелчка
ИЛИ ЖЕ
Создайте global.R
файл, как предлагается здесь и следуйте по этому URL: R Shiny - создать глобальный фрейм данных при запуске приложения