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.
Göran B.
Samaru
Year Start End Length
1 1930 Apr 19 Oct 16 180
2 1931 Apr 29 Oct 16 170
3 1932 Apr 25 Oct 22 180
4 1933 Jun 06 Oct 22 138
5 1934 Apr 27 Oct 19 175
6 1935 May 15 Oct 16 154
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.
______________________________________________
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.