Таблица rsqlite и lubridate

Я попытался разобраться с таблицей в базе данных r. Я написал следующий код.

con <- dbConnect(RSQLite::SQLite(), "flights.sqlite")
airports1 <- dplyr::tbl(con, "airports")
flights1 <- dplyr::tbl(con, "flights")
airportcounts <- flights1 %>% filter(Dest %in% c("SNA", "SJC", "SMF")) %>% group_by(Dest, Year, Month) %>% summarise(count = n())

До этой строчки проблем не было. Таблица «Полеты» уже написана, и я использовал функции dplyr, чтобы подвести итоги. После этого я попытался создать новый столбец «Дата» с столбцами «Год» и «Месяц», код, который я написал, выглядит следующим образом.

airportcounts %>% mutate(Date = lubridate::make_date(Year, Month))

Однако я получил сообщение об ошибке:

'Error in vapply(list(year, month, day), length, 1, USE.NAMES = FALSE) : 
  object 'Year' not found'

Я должен выполнить эту работу в таблице airportcounts, а не в форме tibble или data.frame. Как я могу решить эту проблему?

(Написанный мной код хорошо работал с данными tibble)


person shark    schedule 27.11.2018    source источник


Ответы (1)


SQLite не умеет работать с датами. Для работы с датами необходимо загрузить данные в R:

airportcounts %>% collect() %>% mutate(...)

Кроме того, summarize() сохраняет часть группировки, я рекомендую ungroup() сразу после summarize().

person krlmlr    schedule 28.11.2018