Почему фильтр filter_slider кроссстолка не работает с датами, если таблица данных также присутствует на вашей гибкой панели? - PullRequest
0 голосов
/ 21 мая 2019

Я не могу использовать функцию filter_slider () Crosstalk с переменной даты, имея данные из пакета DT в другом месте на той же панели FlexDash.Я могу либо иметь таблицу данных, либо выбрать фильтр, который может использовать даты, но если я попытаюсь использовать оба, ни один из них не появится в результирующем выходном файле.

Минимальный воспроизводимый пример ниже и при эта ссылка :

#Flexdashboard Code

#Either of these will work BUT NOT BOTH:
generate_dataTable <- TRUE; 
filter_slider_with_date <- FALSE; #switch to TRUE to demonstrate problem


library(flexdashboard)
library(DT)
library(crosstalk)
library(leaflet)

location_level <- data.frame(longitudes = c(-87.56661, -87.62426, -87.58030),
                             latitudes = c( 41.77250, 41.88061, 41.79218))
location_level$number <- as.numeric(row.names(location_level))
location_level$dates <-  as.Date('2019-01-01') + location_level$number

if (generate_dataTable) {
  DT::datatable(location_level) 
  #This doesn't work if a filter slider uses a date variable
} else {
  location_level 
 #This works regardless
}

location_level_shared <- SharedData$new(location_level)
if (filter_slider_with_date) {
  filter_slider(id = 'posDate', label = 'Dates:', sharedData = location_level_shared, column = "dates") 
  #this won't work if datatable is turned on
} else {
  filter_slider(id = 'posDate', label = 'Number:', sharedData = location_level_shared, column = "number")
 #This works regardless (numeric variable used)
}
leaflet(options = leafletOptions(minZoom = 10)) %>% 
    addProviderTiles('Stamen.Toner', layerId = "basetile") %>% 
    addMarkers(data = location_level_shared,
               lng = ~longitudes,
               lat = ~latitudes)

filter_slider может работать с числами, и таблица данных будет отображаться очень хорошо.Но попросите его работать с датами или временем, и вы получите пустой файл, если попытаетесь также включить данные.Эта проблема возникает независимо от того, применяется ли таблица данных к объекту SharedData или нет.

Кто-нибудь знает, что здесь происходит?

...