[R] if(){} else{}

Andrew Robinson A.Robinson at ms.unimelb.edu.au
Tue Dec 5 20:39:32 CET 2006


Hi Hans,

try this ...

mat <- as.data.frame(cbind(Plant,Value1,Value2))

mat$Plant1 <- ifelse(is.na(mat$Plant), "A", "B")

Cheers

Andrew


On Tue, Dec 05, 2006 at 04:33:15PM +0100, Hans-Juergen Eickelmann wrote:
> 
> Dear R-community,
> 
> my data set looks like 'mat' below.
> 
> Plant<-c(NA,1,1,1,NA,NA,NA,NA,NA,1);
> Value1<-rnorm(1:10);
> Value2<-rnorm(1:10);
> mat<-cbind(Plant,Value1,Value2);
> I receive data from two different sites.
> One site is identified by an interger number, the other site has no data in
> column Plant=NA.
> 
> My pb:
> 
> I'm trying to assign labels "A" or "B" to these 2 sites into a new column,
> but my if(){} else{} statement fails with the following statement:
> Error in if (is.na(mat$Plant == TRUE)) { :
>         argument is of length zero
> 
> if(is.na(mat$Plant==TRUE)){mat$Plant1="A"} else{mat$Plant1="B"};
> 
> I looked through the avail doc and R-help for some time but wasn't able to
> fix the pb.
> 
> Thx Hans
> 
> ______________________________________________
> R-help at stat.math.ethz.ch 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.

-- 
Andrew Robinson  
Department of Mathematics and Statistics            Tel: +61-3-8344-9763
University of Melbourne, VIC 3010 Australia         Fax: +61-3-8344-4599
http://www.ms.unimelb.edu.au/~andrewpr
http://blogs.mbs.edu/fishing-in-the-bay/




More information about the R-help mailing list