The same is true for any function call; switch() is not special in this regard.
> f <- function(x, ...) list(...) > f("x"=1, "2"=2, `3`=3) $`2` [1] 2 $`3` [1] 3 The backticks are required when defining a function with a non-syntactical name, but the call can use either form. > f <- function(x, `2`) x - `2` > f("2"=7, 18) [1] 11 > f(`2`=7, 18) [1] 11 -Bill On Wed, Sep 7, 2022 at 11:41 PM Richard O'Keefe <rao...@gmail.com> wrote: > You DON'T need to use backticks. switch() is much older than backticks. > Ordinary quotation marks are fine. > > switch(as.character(1), "2"="YES", "1"="NO") > [1] "NO" > > > On Thu, 8 Sept 2022 at 07:46, akshay kulkarni <akshay...@hotmail.com> > wrote: > > > Dear Bert, > > Thanks...I went through the doc pages but couldn't > > glean from that that for numeric options one has to backtick it. I is not > > given in the doc page...I actually had hundreds of different choices and > so > > cannot depend on evaluation by position...Thanks again...I got to know > that > > 2 is not a valid identifier but`2` is! > > > > Yours sincerely, > > AKSHAY M KULKARNI > > > > ________________________________ > > From: Bert Gunter <bgunter.4...@gmail.com> > > Sent: Thursday, September 8, 2022 12:39 AM > > To: akshay kulkarni <akshay...@hotmail.com> > > Cc: R help Mailing list <r-help@r-project.org> > > Subject: Re: [R] inconsistency in switch statements..... > > > > 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...@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@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. > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@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. > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@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. > [[alternative HTML version deleted]] ______________________________________________ R-help@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.