[R] If else in R code
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Fri Feb 8 08:12:52 CET 2008
Simon Blomberg wrote:
> How about:
>
> a<-c("2001-02-1",NA,NA)
> b<-c("2001-03-1","2001-03-2","2001-03-3")
>
> res <- ifelse(is.na(a), as.character(as.Date(b)-2),
> as.character(as.Date(a)))
> res
>
> Or with no ifelse:
>
> res <- a
> res[is.na(a)] <- as.character(as.Date(b[is.na(a)])-2)
> res
>
>
What's up with the as.character stuff?
res <- a
res[is.na(res)] <- b[is.na(res)]-2
with ifelse, you have the annoyance that it strips attributes, so you
need something like
res <- ifelse(is.na(a),b-2, a)
class(res) <- "Date"
res
> Cheers,
>
> Simon.
>
> On Fri, 2008-02-08 at 14:23 +1300, Andrew McFadden wrote:
>
>> Hi There
>>
>> I am a new user of "R" and having a few problems
>>
>> a<-c("2001-02-1","NA","NA")
>> a<-as.Date(a,format = "%Y-%m-%d")
>>
>> b<-c("2001-03-1","2001-03-2","2001-03-3")
>> b<-as.Date(b,format = "%Y-%m-%d")
>>
>> c<-data.frame(a,b)
>>
>> I would like to write an if statement where if "a" is not null return
>> "a", if "a" is null (NA) return "b" less two days. Could someone help?.
>>
>>
>> Andrew
>>
>>
>>
>> ########################################################################
>> This email message and any attachment(s) is intended solely for the
>> addressee(s) named above. The information it contains is confidential
>> and may be legally privileged. Unauthorised use of the message, or the
>> information it contains, may be unlawful. If you have received this
>> message by mistake please call the sender immediately on 64 4 8940100
>> or notify us by return email and erase the original message and
>> attachments. Thank you.
>>
>> The Ministry of Agriculture and Forestry accepts no responsibility for
>> changes made to this email or to any attachments after transmission from
>> the office.
>> ########################################################################
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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.
>>
--
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
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list