[R] inconsistency in switch statements.....

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Wed Sep 7 21:09:31 CEST 2022

Well, as it states on the Help page, which should always be the first
place to look for, ummm, help:

"If the value of EXPR is not a character string it is coerced to
integer. Note that this also happens for factors, with a warning, as
typically the character level is meant. If the integer is between 1
and nargs()-1 then the corresponding element of ... is evaluated and
the result returned: thus if the first argument is 3 then the fourth
argument is evaluated and returned."

So following up on Bill's comment, the arguments do not even need to
be names when Stst evaluates to) an integer:

> Stst <- 2
> switch(Stst, print("NO"), print("YES"))
[1] "YES"


On Wed, Sep 7, 2022 at 11:35 AM akshay kulkarni <akshay_e4 using hotmail.com> wrote:
> Dear members,
>                              The following is my code:
> > Stst <- 2
> > switch(Stst, 1 = print("NO"), 2 = print("YES"))
> Error: unexpected '=' in "switch(Stst, 1 ="
> Why isn't it printing "YES" on to the console?
> many thanks in advance.
> Thanking you,
> Yours sincerely,
>         [[alternative HTML version deleted]]
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

More information about the R-help mailing list