rsqlite стол и смазать - PullRequest
       31

rsqlite стол и смазать

0 голосов
/ 27 ноября 2018

Я пытался разобраться с таблицей в базе данных 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'

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

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

1 Ответ

0 голосов
/ 28 ноября 2018

SQLite не знает, как обращаться с датами.Вам нужно загрузить данные в R для работы с датами:

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

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

...