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

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


(Typos in my last paragraph corrected for clarity)

On Wed, Sep 7, 2022 at 12:09 PM Bert Gunter <bgunter.4567 using gmail.com> wrote:
>
> 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 named 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