[R] How to use 'switch' with strings containing spaces?
David Winsemius
dwinsemius at comcast.net
Wed Aug 17 00:52:02 CEST 2011
On Aug 16, 2011, at 4:53 PM, Mauricio Cornejo wrote:
> Hi,
>
> Does anyone know if the alternatives in the 'switch' function can be
> specified as strings containing spaces? Neither of the two
> approaches below works.
>
>
> switch(expr, "Choice 1"="My first choice", "Choice 2"="My 2nd
> choice", "Choice 3"="My 3rd choice")
>
>
> x <- c("Choice 1", "Choice 2", "Choice 3")
> switch(expr, x[1]="My first choice", x[2]="My 2nd choice", x[3]="My
> 3rd choice")
>
>
> If the intended functionality
Right... and what might that be... in a natural language if you
please. Deducing intention from failed efforts in a computer language
are a request for mind-reading.
(Puts envelope to forehead. The answer is probably .... ?match )
switch() is designed to dispatch to a function call. match() is
designed to return an item from a vector.
> can be achieved by a different function(s), I'd most appreciate such
> a suggestion as well.
>
> x <- c("Choice 1", "Choice 2", "Choice 3")
> x <- c("Choice 1", "Choice 2", "Choice 3")
> match("Choice 2", x)
{1] 2 # returns a vector easily used as index to another vector
> c("My first choice", "My 2nd choice","My 3rd choice")
[ match("Choice 2", x)]
[1] "My 2nd choice"
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list