On 05.06.2012 21:44, jween wrote:> Hi there!
>
> I have two date columns in a dataframe I need to selectively collapse based
> on missing values and which date comes first (imported from an text file).
> This is what I did:
>
> RHSSP$CT <- as.POSIXct(RHSSP$CT, format='%m/%d/%y %H:%M')
> RHSSP$MRI <- as.POSIXct(RHSSP$MRI, format='%m/%d/%y %H:%M')
> RHSSP$Scan <-
>
ifelse(is.na(RHSSP$MRI),RHSSP$CT,ifelse(is.na(RHSSP$CT),RHSSP$MRI,ifelse(RHSSP$CT>RHSSP$MRI,RHSSP$MRI,RHSSP$CT)))
>
> RHSSP$CT and RHSSP$MRI remain properly formatted (e.g.: "2011-06-21
22:31:00
> PDT") BUT RHSSP$Scan does not (e.g.: 1294076700)
>
> I can't figure out how to maintain the proper format during the
replacement.
> Looks like the replacement inherits the ifelse comparison format.
>
> Any suggestions?
Yes: Read ?ifelse that tells us:
==Warning
The mode of the result may depend on the value of test (see the
examples), and the class attribute (see oldClass) of the result is taken
from test and may be inappropriate for the values selected from yes and no.
Sometimes it is better to use a construction such as (tmp <- yes;
tmp[!test] <- no[!test]; tmp), possibly extended to handle missing
values in test.
==
Best,
Uwe Ligges
>
> Many thanks
>
> Jon
>
> --
> View this message in context:
http://r.789695.n4.nabble.com/preserving-date-formats-in-functions-tp4632435.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at 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.