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

______________________________________________
R-help@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.

Reply via email to