2015-07-14 3 views
1

Я пытался получить вид, основанный на группу даты, используя sqldf пакета и функцию месяца, но я получил ошибку: Error in sqliteSendQuery(con, statement, bind.data) : error in statement: no such function: monthКак я могу извлечь месяц, используя sqldf пакет

Вот мой запрос: s<-sqldf("select month(dateTime),sum(wolfs) group by dateTime")

прилагается кадр игрушка данные:

df <- read.table(text = "dateTime   birds wolfs  snakes 
         2014-05-21  9   7 a 
         2014-04-28  8   4 b 
         2014-04-13  2   8 c 
         2014-03-12  2   3 a 
         2014-02-04  8   3 a 
         2014-02-29  1   2 a 
         2014-01-17  7   1 b 
         2014-01-16  1   5 c 
         2014-09-20  9   7 c 
         2014-08-21  8   7 c ",header = TRUE) 

Как я могу извлечь месяц с использованием пакета sqldf?

ответ

3

Я подозреваю, что вы привыкли к SQL Server, но бэкенд sqldf используется в вашем случае SQLite, где нет функции MONTH. Попробуйте вместо этого:

R> sqldf("SELECT strftime('%m', dateTime) AS Month 
      ,SUM(wolfs) AS Wolves 
     FROM df 
     GROUP BY strftime('%m', dateTime)") 
# Month Wolves 
# 1 01  6 
# 2 02  5 
# 3 03  3 
# 4 04  12 
# 5 05  7 
# 6 08  7 
# 7 09  7 

+1

Большое спасибо @nrussell. – mql4beginner

+0

Вы можете просто написать 'GROUP BY Month', чтобы избежать повторения – mpalanco

+0

Не центральная точка, к которой я обращался ... – nrussell

 Смежные вопросы

  • Нет связанных вопросов^_^