Presumably, sqldf does not know about Date object so passes an integer that
gets interpreted as who knows what...
This seems to work:
> df <- data.frame(date=as.character(Sys.Date()+seq(0,180,,10)))
> cbind(df, sqldf("select strftime( '%m', date) from df"))
date strftime( '%m', date)
1 2016-09-16 09
2 2016-10-06 10
3 2016-10-26 10
4 2016-11-15 11
5 2016-12-05 12
6 2016-12-25 12
7 2017-01-14 01
8 2017-02-03 02
9 2017-02-23 02
10 2017-03-15 03
-pd
On 16 Sep 2016, at 13:48 , PIKAL Petr <[email protected]> wrote:
> Hi
>
> Most probably there is some syntactic suger how to correctly formulate sql
> query.
>
>> sqldf('select Date, strftime("Date", "%m") from log')
> Date strftime("Date", "%m")
> 1 2013-05-25 <NA>
> 2 2013-05-28 <NA>
> 3 2013-05-31 <NA>
> 4 2013-06-01 <NA>
> 5 2013-06-02 <NA>
> 6 2013-06-05 <NA>
> 7 2013-06-07 <NA>
>> sqldf('select Date, format("Date", "%m") from log')
> Error in sqliteSendQuery(con, statement, bind.data) :
> error in statement: no such function: format
>>
>
> format(sqldf("select Date from log"), "%m")
>
> This one however works.
>
> Cheers
> Petr
>
> From: Manohar Reddy [mailto:[email protected]]
> Sent: Friday, September 16, 2016 11:55 AM
> To: PIKAL Petr <[email protected]>
> Cc: R-help <[email protected]>
> Subject: Re: [R] stfrtime function not returning proper results through sqldf
> package in R
>
>
> Hi Petr,
>
> Thanks, For me also it’s working fine when I directly used that function but
> when I call strftime function through sqldf package it’s returning NA values
> (PFA) ,but my requirement is I need to do that only sqldf as I’m writing some
> “T sql ” queries against on the dataset.
>
> Manu.
>
> On Fri, Sep 16, 2016 at 12:56 PM, PIKAL Petr
> <[email protected]<mailto:[email protected]>> wrote:
> Hi
>
> Hm
>> format(log$Date, "%m")
> [1] "05" "05" "05" "06" "06" "06" "06"
>> strftime(log$Date, "%m")
> [1] "05" "05" "05" "06" "06" "06" "06"
>>
>
> works for me.
>
> Just a blind guess, is an object date somwhere in your environment?
>
> Cheers
> Petr
>
>
>> -----Original Message-----
>> From: R-help
>> [mailto:[email protected]<mailto:[email protected]>]
>> On Behalf Of Manohar
>> Reddy
>> Sent: Friday, September 16, 2016 6:36 AM
>> To: R-help <[email protected]<mailto:[email protected]>>
>> Subject: [R] stfrtime function not returning proper results through sqldf
>> package in R
>>
>> Hi ,
>>
>>
>>
>> I have data something looks like below (or PFA), but when I’m extracting
>> month using *strftime* function through *sqldf* library ,it’s returning
>> below results but it’s not returning exact results ,it supposed to return
>> 05,05,05,06,06,06.Can anyone please guide me how to do that with
>> *strftime* function.
>>
>>
>>
>> Thanks in advance.
>>
>>
>>
>> Quiries :
>>
>>
>> library(scales)
>>
>> # load data:
>> log <- data.frame(Date =
>> c("2013/05/25","2013/05/28","2013/05/31","2013/06/01","2013/06/02","2013
>> /06/05","2013/06/07"),
>> Quantity = c(9,1,15,4,5,17,18))
>>
>>
>> # convert date variable from factor to date format:
>> log$Date <- as.Date(log$Date,
>> "%Y/%m/%d") # tabulate all the options here
>> str(log)
>>
>>
>>
>>
>>
>>
>>
>> Manu.
>
> ________________________________
> Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou
> určeny pouze jeho adresátům.
> Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně
> jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze
> svého systému.
> Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email
> jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
> Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či
> zpožděním přenosu e-mailu.
>
> V případě, že je tento e-mail součástí obchodního jednání:
> - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy,
> a to z jakéhokoliv důvodu i bez uvedení důvodu.
> - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout;
> Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany
> příjemce s dodatkem či odchylkou.
> - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným
> dosažením shody na všech jejích náležitostech.
> - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost
> žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně
> pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu
> případně osobě, kterou adresát zastupuje, předloženy nebo jejich existence je
> adresátovi či osobě jím zastoupené známá.
>
> This e-mail and any documents attached to it may be confidential and are
> intended only for its intended recipients.
> If you received this e-mail by mistake, please immediately inform its sender.
> Delete the contents of this e-mail with all attachments and its copies from
> your system.
> If you are not the intended recipient of this e-mail, you are not authorized
> to use, disseminate, copy or disclose this e-mail in any manner.
> The sender of this e-mail shall not be liable for any possible damage caused
> by modifications of the e-mail or by delay with transfer of the email.
>
> In case that this e-mail forms part of business dealings:
> - the sender reserves the right to end negotiations about entering into a
> contract in any time, for any reason, and without stating any reasoning.
> - if the e-mail contains an offer, the recipient is entitled to immediately
> accept such offer; The sender of this e-mail (offer) excludes any acceptance
> of the offer on the part of the recipient containing any amendment or
> variation.
> - the sender insists on that the respective contract is concluded only upon
> an express mutual agreement on all its aspects.
> - the sender of this e-mail informs that he/she is not authorized to enter
> into any contracts on behalf of the company except for cases in which he/she
> is expressly authorized to do so in writing, and such authorization or power
> of attorney is submitted to the recipient or the person represented by the
> recipient, or the existence of such authorization is known to the recipient
> of the person represented by the recipient.
>
>
>
> --
>
>
> Thanks,
> Manohar Reddy P
> +91-9705302062.
>
> ________________________________
> Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou
> určeny pouze jeho adresátům.
> Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně
> jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze
> svého systému.
> Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email
> jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
> Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či
> zpožděním přenosu e-mailu.
>
> V případě, že je tento e-mail součástí obchodního jednání:
> - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy,
> a to z jakéhokoliv důvodu i bez uvedení důvodu.
> - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout;
> Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany
> příjemce s dodatkem či odchylkou.
> - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným
> dosažením shody na všech jejích náležitostech.
> - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost
> žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně
> pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu
> případně osobě, kterou adresát zastupuje, předloženy nebo jejich existence je
> adresátovi či osobě jím zastoupené známá.
>
> This e-mail and any documents attached to it may be confidential and are
> intended only for its intended recipients.
> If you received this e-mail by mistake, please immediately inform its sender.
> Delete the contents of this e-mail with all attachments and its copies from
> your system.
> If you are not the intended recipient of this e-mail, you are not authorized
> to use, disseminate, copy or disclose this e-mail in any manner.
> The sender of this e-mail shall not be liable for any possible damage caused
> by modifications of the e-mail or by delay with transfer of the email.
>
> In case that this e-mail forms part of business dealings:
> - the sender reserves the right to end negotiations about entering into a
> contract in any time, for any reason, and without stating any reasoning.
> - if the e-mail contains an offer, the recipient is entitled to immediately
> accept such offer; The sender of this e-mail (offer) excludes any acceptance
> of the offer on the part of the recipient containing any amendment or
> variation.
> - the sender insists on that the respective contract is concluded only upon
> an express mutual agreement on all its aspects.
> - the sender of this e-mail informs that he/she is not authorized to enter
> into any contracts on behalf of the company except for cases in which he/she
> is expressly authorized to do so in writing, and such authorization or power
> of attorney is submitted to the recipient or the person represented by the
> recipient, or the existence of such authorization is known to the recipient
> of the person represented by the recipient.
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [email protected] mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: [email protected] Priv: [email protected]
______________________________________________
[email protected] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.