[R] how to use the switch statement
Matthias Braeunig
mb.atelier at web.de
Tue Nov 21 10:32:40 CET 2006
convert your.data.frame$x to ?factor and ?levels
> x <- readLines()
AT
BB
B1
B1
CC
CC
T6
B1
CC
BB
TT
AT
AT
AT
TT
BB
# you would start here with your.data.frame$x
> x <- factor(x,levels=unique(x)) # preserve ordering
> x
[1] AT BB B1 B1 CC CC T6 B1 CC BB TT AT AT AT TT BB
Levels: AT BB B1 CC T6 TT
> levels(x) <- paste("A",seq(levels(x)),sep="")
> x
[1] A1 A2 A3 A3 A4 A4 A5 A3 A4 A2 A6 A1 A1 A1 A6 A2
Levels: A1 A2 A3 A4 A5 A6
HTH
Biscarini, Filippo wrote:
> 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)
More information about the R-help
mailing list