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.

Reply via email to