[R] how to use the switch statement

Peter Alspach PAlspach at hortresearch.co.nz
Mon Nov 20 20:06:46 CET 2006


Filippo

Can't help you with switch(), but you could use ifelse() (as opposed to
"a long series of if/else statements") or factor levels.  For the latter


Assume your data is column 1 of temp

paste('A', as.numeric(factor(temp[,1])), sep='')

This doesn't give quite what you want since the factor levels are, by
default, assigned alphabetically. So try

paste('A', as.numeric(factor(temp[,1],
levels=c('AT','BB','TT','B1','CC','T6'))), sep='')

HTH

Peter Alspach


> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of
> Biscarini, Filippo
> Sent: Tuesday, 21 November 2006 3:48 a.m.
> To: r-help at stat.math.ethz.ch
> Subject: [R] how to use the switch statement
>
>
> Good morning,
> 
> I am trying to recode the values of a column in a data frame
> and, instead of using a long series of if/else statements I
> would like to use a switch (as it is, for instance, in the C
> programming language).
> 
> I have a column of this type:
> 
> AT
> BB
> B1
> B1
> CC
> CC
> T6
> B1
> CC
> BB
> TT
> AT
> AT
> AT
> TT
> BB
>  ...
> 
> and I need to change this coding (if it's AT then it should
> be A1, if it's BB then it should be A2, and so on ...)
> 
> I was trying to use switch in the following way:
> 
> switch(column_name,
> 'AT'='A1'
> 'BB'='A2'
> ...)
> 
> but it's not working.
> The R help is particularly cryptic on this point.
> 
> Can anyone help me?
> 
> Thank you very much,
> 
> Filippo Biscarini
> 
> University of Wageningen (The Netherlands)
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>

______________________________________________________

The contents of this e-mail are privileged and/or confidenti...{{dropped}}



More information about the R-help mailing list