[R] day, month, year functions
Martin Maechler
maechler at stat.math.ethz.ch
Thu Aug 17 10:26:45 CEST 2006
>>>>> "Gregor" == Gregor Gorjanc <gregor.gorjanc at bfro.uni-lj.si>
>>>>> on Fri, 11 Aug 2006 00:27:27 +0000 (UTC) writes:
Gregor> Gabor Grothendieck <ggrothendieck <at> gmail.com> writes:
>>
>> Here are three ways:
>>
>> xx <- as.Date("2006-01-05")
>>
>> # 1. use as.POSIXlt
>> as.POSIXlt(xx)$mday
>> as.POSIXlt(xx)$mon + 1
>> as.POSIXlt(xx)$year + 1900
>>
>> # 2. use format
>> as.numeric(format(xx, "%d"))
>> as.numeric(format(xx, "%m"))
>> as.numeric(format(xx, "%Y"))
>>
>> # 3. use month.day.year in chron package
>> library(chron)
>> month.day.year(unclass(xx))$day
>> month.day.year(unclass(xx))$month
>> month.day.year(unclass(xx))$year
Gregor> Hi,
Gregor> it would really be great if there would be
Gregor> sec(), min(), hour() day(), month(), year()
Gregor> generic functions that would work on all "date" classes. Where
Gregor> applicable of course. I imagine that argument to get out integer
Gregor> or character would alse be nice.
I disagree pretty strongly:
- We definitely don't want min() to return minutes instead of
minimum !
- Why pollute the namespace with 6 (well, actualy 5!) new
function names, when as.POSIXlt()
*REALLY* is there exactly for this purpose ???
I rather think the authors of each of the other old-fashioned
"date" classes should provide as.POSIXlt() methods for their
classes.
Then, we'd have uniform interfaces, following's Gabor's "# 1."
above.
Martin Maechler, ETH Zurich
More information about the R-help
mailing list