Re: [Rd] Glitch involving difftime and data frame

From: Peter Dalgaard <p.dalgaard_at_biostat.ku.dk>
Date: Tue 07 Sep 2004 - 08:54:41 EST

Prof Brian Ripley <ripley@stats.ox.ac.uk> writes:

> On 7 Sep 2004, Peter Dalgaard wrote:
>
> > This looks unintentional:
>
> Not so.
>
> > > d <- as.Date("2004-09-07")
> > > dd <- as.Date("2004-10-04")
> > > data.frame(d,dd,dd-d)
> > Error in as.data.frame.default(x[[i]], optional = TRUE) :
> > can't coerce difftime into a data.frame
> > > F <- data.frame(d,dd)
> > > F$foo <- dd-d
> > > cbind(F,dd-d)
> > Error in as.data.frame.default(x[[i]], optional = TRUE) :
> > can't coerce difftime into a data.frame
> >
> > Basically, the issue is that as.data.frame on a classed object expects
> > to find a method and there isn't any for difftime...
>
> Difftime depends crucially on attributes on the vector. I wasn't
> confident that they would be preserved as needed (and I think I had a
> problem example). Since then we have fixed a lot of the subsetting
> methods, but even so I am not 100% confident.

Hmm. So to get a survival time (say) into a data frame, we should unclass it? (That $<- works seems coincidental and the resulting data frame might cause trouble down the line). It does look rather tempting to do as.data.frame.difftime <- as.data.frame.numeric and begone with it though....

(It doesn't make much sense to have units other than "days" for Date differences, so the use of difftime objects is a bit pointless from the practical perspective, although perhaps not from a consistency perspective. Any chance of doing months and years?)

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907

______________________________________________
R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Tue Sep 07 08:58:50 2004

This archive was generated by hypermail 2.1.8 : Wed 03 Nov 2004 - 22:45:13 EST