Hi Duncan, In this case they all had length 1, but I'll be careful at other occasions.
Denis Le 2011-06-05 à 09:26, Duncan Murdoch a écrit : > On 11-06-05 8:49 AM, Denis Chabot wrote: >> Thanks Duncan, I'll go back to if and else! > > Be careful, it might not give you the same answer. > > I'd use this variation on the advice from ?ifelse: > > new.date <- my.date + x > new.date[is.na(my.date)] <- min(default.date) + x > > The thing to watch out for in this construction is that the lengths of the > vectors come out right. I'm assuming that my.date + x is the same length as > is.na(my.date)], and that min(default.date) + x is length 1, but I haven't > tried your code to check. > > Duncan Murdoch > >> >> Denis >> Le 2011-06-05 à 08:39, Duncan Murdoch a écrit : >> >>> On 11-06-05 8:23 AM, Denis Chabot wrote: >>>> Hi, >>>> >>>> I was "losing" my dates in a script and upon inspection, found that my >>>> recent switch from separate "if" and "else" to "ifelse" was the cause. But >>>> why? >>> >>> See ?ifelse. The class of the result is the same as the class of the test, >>> not the classes of the alternatives. You need to manually attach the class >>> again, or use a different construction. >>> >>> Duncan Murdoch >>> >>>> >>>> my.date = as.POSIXct("2011-06-04 08:00:00") >>>> default.date = seq(as.POSIXct("2011-01-01 08:00:00"), >>>> as.POSIXct("2011-09-01 08:00:00"), length=15) >>>> x = 4 * 60 * 60 >>>> (my.date + x) >>>> (min(default.date) + x) >>>> (new.date = ifelse(!is.na(my.date), my.date + x, min(default.date) + x) >>>> ) >>>> >>>> (if(!is.na(my.date)) new.date2 = my.date + x else new.date2= >>>> min(default.date) + x ) >>>> >>>> On my machine, new.date is "numeric" whereas new.date2 is "POSIXct" and >>>> "POSIXt", as desired. >>>> >>>> sessionInfo() >>>> R version 2.13.0 (2011-04-13) >>>> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) >>>> >>>> locale: >>>> [1] fr_CA.UTF-8/fr_CA.UTF-8/C/C/fr_CA.UTF-8/fr_CA.UTF-8 >>>> >>>> attached base packages: >>>> [1] stats graphics grDevices utils datasets methods base >>>> >>>> >>>> Thanks in advance, >>>> >>>> Denis >>>> ______________________________________________ >>>> 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.