Проблема:
У меня странная проблема с глаголом фильтра dplyr. Я пытаюсь отфильтровать data.frame по текущему месяцу и текущему году. Я создал реактивную функцию для обоих:
current.month <- reactive({
gsub("0", " ", format(Sys.Date(), "%m"))
current.year <- reactive({
format(Sys.Date(), "%Y")
Когда я пытаюсь фильтровать по реактивному выражению, мой data.frame не возвращает никаких результатов. Это несмотря на тот факт, что столбец даты в моем data.frame имеет тип символа, как и реактивные значения current.month()
& current.year()
.
Что у меня есть:
df[df$REPORT == input$dropdown.report, ] %>%
filter(Month == current.month() & Year == current.year())
Это не возвращает никакого вывода.
Однако, когда я жестко закодировал входные данные, моя таблица возвращается без каких-либо проблем.
df[df$REPORT == input$dropdown.report, ] %>%
filter(Month == "4" & Year == "2018")
Кто-нибудь может направить меня в правильном направлении? Вы можете воссоздать эту проблему с помощью набора данных радужной оболочки. Я понимаю, что вывод важен для воспроизводимого примера, но я не могу поделиться данными моей компании.
Edit:
Для целей подсчета в моем data.frame переменные даты разделены на 2 столбца: месяц, год. Месяц - это один символ без начального 0, поэтому мне нужно использовать функцию gsub выше.