An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20081212/f5be4704/attachment.pl>
loop with dates
4 messages · Fernando Bizuet, Henrique Dallazuanna, Gabor Grothendieck +1 more
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20081212/292a8e02/attachment.pl>
Try iterating over the index rather than the value of each component: s <- seq(fini,to = ffin, by='days') for (i in seq_along(s)) print(s[[i]])
On Fri, Dec 12, 2008 at 1:55 PM, Fernando Bizuet <fbizuet at gmail.com> wrote:
Hello,
I am trying to do a loop with dates, but when I try to use the index is not
a date.
Fcorte <- as.Date('2008/11/30',format = "%Y/%m/%d")
fini <- Fcorte + 1
ffin <- seq(fini,by='months',length=2)[2] - 1
for (i in seq(fini,to = ffin, by='days'))
print (weekdays(i)) # i doesn't a date
How can I do a loop with dates and get the index of each date? are there a
method to convert the index i to date?
Thanks in advance.
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list 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.
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Fernando Bizuet Sent: Friday, December 12, 2008 12:55 PM To: r-help at r-project.org Subject: [R] loop with dates Hello, I am trying to do a loop with dates, but when I try to use the index is not a date.
See ?"for". That help page mentions the following which can clarify what to expect "... The variable 'var' has the same type as 'seq' ..." Small illustration, fac <- gl(5,1,labels=letters[1:5]) fac [1] a b c d e Levels: a b c d e typeof(fac) [1] "integer" for(i in fac) print(i) [1] 1 [1] 2 [1] 3 [1] 4 [1] 5
Fcorte <- as.Date('2008/11/30',format = "%Y/%m/%d")
fini <- Fcorte + 1
ffin <- seq(fini,by='months',length=2)[2] - 1
for (i in seq(fini,to = ffin, by='days'))
print (weekdays(i)) # i doesn't a date
typeof(ffin)
[1] "double"
As your index is no longer of class 'Date', you will get
Error in UseMethod("weekdays") : no applicable method for "weekdays
How can I do a loop with dates and get the index of each date? are there a method to convert the index i to date?
Here's one way dd <- seq(fini,to = ffin, by='days') for (i in seq_along(dd)) print(dd[i])
Thanks in advance. [[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list 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.