The idea is that I want the non-leap years to be 366 days instead of being 365 days. ie. Each year must have 366 days.
for example: in the column Start2, Apr 18 will be Apr 17. > head(Samaru) Year Start End Length Start2 End2 1 1930 108 288 180 Apr 18 Oct 15 2 1931 118 288 170 Apr 28 Oct 15 3 1932 115 295 180 Apr 24 Oct 21 4 1933 156 294 138 Jun 05 Oct 21 5 1934 116 291 175 Apr 26 Oct 18 6 1935 134 288 154 May 14 Oct 15 Is there a way to that in R? On Tue, Oct 7, 2014 at 3:25 PM, Frederic Ntirenganya <ntfr...@gmail.com> wrote: > Thanks All. Your idea is useful!!! > > On Tue, Oct 7, 2014 at 1:01 PM, Jim Lemon <j...@bitwrit.com.au> wrote: > >> On Tue, 7 Oct 2014 11:51:34 AM Göran Broström wrote: >> > On 2014-10-07 11:27, Jim Lemon wrote: >> > > On Tue, 7 Oct 2014 10:32:42 AM Frederic Ntirenganya wrote: >> > >> Dear All, >> > >> >> > >> How can I change the format of date of day of the year ? for >> > > >> > > example r >> > > >> > >> (i.e. "17 Apr" rather than "108"). >> > >> >> > >> The following is the type of the dataset I have >> > >> >> > >> head(Samaru) >> > >> >> > >> Year Start End Length >> > >> >> > >> 1 1930 108 288 180 >> > >> 2 1931 118 288 170 >> > >> 3 1932 115 295 180 >> > >> 4 1933 156 294 138 >> > >> 5 1934 116 291 175 >> > >> 6 1935 134 288 154 >> > > >> > > Hi Frederic, >> > > The easiest method I can think of is this: >> > > >> > > Samaru$Start<-format(as.Date( >> > > >> > > paste(Samaru$Year,"01-01",sep="-"))+Samaru$Start, >> > > "%b %d") >> > > >> > > Samaru$End<-format(as.Date( >> > > >> > > paste(Samaru$Year,"01-01",sep="-"))+Samaru$End, >> > > "%b %d") >> > >> > In the package 'eha' I have a function 'toDate': >> > > require(eha) >> > > toDate(1930 + 108/365) >> > >> > [1] "1930-04-19" >> > >> > (Interestingly, we are all wrong; the correct answer seems to be >> > "1930-04-18") >> > >> > > toDate >> > >> > function (times) >> > { >> > if (!is.numeric(times)) >> > stop("Argument must be numeric") >> > times * 365.2425 + as.Date("0000-01-01") >> > } >> > >> > The 'inverse' function is 'toTime'. >> > >> > Sometimes it misses by one day; not very important in my >> applications, >> > but may be otherwise. >> > >> Hi Goran, >> You're correct. >> >> as.Date("Apr 19 1930","%b %d %Y") - >> + as.Date("Jan 1 1930","%b %d %Y") >> Time difference of 108 days >> >> The t >> >> Samaru$Start<-format(as.Date( >> paste(Samaru$Year,"01-01",sep="-"))+Samaru$Start-1,"%b %d") >> Samaru$End<-format(as.Date( >> paste(Samaru$Year,"01-01",sep="-"))+Samaru$End-1, "%b %d") >> >> Jim >> >> ______________________________________________ >> R-help@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. >> > > > > -- > Frederic Ntirenganya > Maseno University, > Kenya. > Mobile:(+254)718492836 > Email: fr...@aims.ac.za > https://sites.google.com/a/aims.ac.za/fredo/ > -- Frederic Ntirenganya Maseno University, Kenya. Mobile:(+254)718492836 Email: fr...@aims.ac.za https://sites.google.com/a/aims.ac.za/fredo/ [[alternative HTML version deleted]] ______________________________________________ R-help@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.