Gabor Grothendieck wrote:
> Read the warning in ?ifelse
Yep.

And, yes, it is annoying that ifelse() strips attributes, including 
class, but it is one of those things that have been in the S languages 
"forever", and nobody really wants to  mess with. The fundamental issue 
is that you need the result to be able to hold values from both of the 
"yes" and the "no" arguments and there is no guarantee that that is 
possible outside of the R base types.

You'd like to have things like these "work"

d <- as.Date(c("1994-3-4", "1996-3-1"))

ifelse(d > "1996-1-1", "1996-1-1", d)

ifelse(d <= "1996-1-1", d, "1996-1-1")

in the sense that the result is a Date object, but once you start 
thinking about the details of how it _might_ work, you find that things 
aren't all that simple. If there was a general mechanism for coercion 
between classes, then maybe it could be done, but there isn't any.

-- 
   O__  ---- Peter Dalgaard             Ă˜ster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])                  FAX: (+45) 35327907

______________________________________________
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.

Reply via email to