[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"
Cheers,
Bert
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,
> AKSHAY M KULKARNI
>
> [[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