Я не могу использовать функцию 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 или нет.
Кто-нибудь знает, что здесь происходит?