RShiny: объединение нескольких реактивных входов - PullRequest
0 голосов
/ 01 марта 2019

Друзья стека переполнение , может быть, я просто комбинирую слишком много переменных .. или, может быть, нет, я не знаю.Но было бы здорово получить проверку работоспособности!

, сделанный во флексбаше

У меня есть следующие входные данные:

dateRangeInput(“date”, “Choose a date range:”, 
start = min(mydata$Date),
end = max (mydata$Date),
startview = “year”

selectInput(“cntry”, “Choose a Country:”,
choices = c(“”, mydata$Country), multiple = TRUE)

selectInput (“city”, “Choose a City:”,
choices =c(“”, mydata$City),multiple = TRUE)

selectInput (“animal”, “Choose an animal:”,
choices = c(“”, mydata$Animal) multiple = TRUE)

Затем я создаю два вывода: таблицу данных и график: (как видно здесь )

renderDataTable({

    cntry_sel <- if (nchar(input$cntry)==0) unique(as.vector(mydata$Country)) else input$cntry

city_sel <- if (nchar(input$city)==0) unique(as.vector(mydata$City)) else input$city

animal_sel <- if (nchar(input$animal)==0) unique(as.vector(mydata$Animal)) else input$animal

filter(mydata, Country %in cntry_sel, City %in% city_sel, Animal %in% animal_sel)
})

Это прекрасно работает для фильтрации данных в таблице данных.Однако я не могу заставить график правильно отображаться:

Первый выпуск: график отображает, но даст мне весь диапазон дат не выбранный диапазон:

ДляНапример:, dateRangeInput = начало: 2017-01-01, конец: 2017-12-31, но на отрисованном графике будут показаны все даты для отфильтрованных данных (2015-2018).

Это стало еще более любопытным из-за того, что * * * * * * * * * * * * * * * * * * [*] [1029] * * * * * * * * * * *

* * * * * * * * * * * * [*], например, [input $ cntry = Canada, input$ animal = Bear] отобразит график выбранных данных и обновлений, если я изменю ввод $ cntry = Mexico и / или ввод $ animal = Donkey.

Однако ввод года не будет.Есть идеи?Результат рендеринга:

renderPlotly({

data<-mydata[,1:5] ##1=Date, 2=Count...
data$Country<-input$country
data$City<-input$city
data$Animal<-input$animal

ggplot(data,
aes(x=Date, y= Country, Fill= Country, Weight = Count)+
geom_bar

})
...