Switch Statement in R Programming Language: Syntax and Examples

Rumman Ansari   Software Engineer   2024-07-05 06:44:54   6392  Share
Subject Syllabus DetailsSubject Details 1 Program
☰ TContent
☰Fullscreen

switch statement allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case.

Syntax

The basic syntax for creating a switch statement in R is ?

switch(expression, case1, case2, case3....)

The following rules apply to a switch statement ?

  • If the value of expression is not a character string it is coerced to integer.

  • You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a colon.

  • If the value of the integer is between 1 and nargs()?1 (The max number of arguments)then the corresponding element of case condition is evaluated and the result returned.

  • If expression evaluates to a character string then that string is matched (exactly) to the names of the elements.

  • If there is more than one match, the first matching element is returned.

  • No Default argument is available.

  • In the case of no match, if there is a unnamed element of ... its value is returned. (If there is more than one such argument an error is returned.)

Flow Diagram

R switch statement

Example

x <- switch(
   3,
   "first",
   "second",
   "third",
   "fourth"
)
print(x)

When the above code is compiled and executed, it produces the following result ?

[1] "third"

This is a example of another way using function

Program

<span class="pln">
</span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
  
  </span><span class="kwd">switch</span><span class="pun">(</span><span class="pln">x</span><span class="pun">,</span><span class="pln">
         </span><span class="str">"a"</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"First"</span><span class="pun">,</span><span class="pln">
         </span><span class="str">"b"</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Second"</span><span class="pun">,</span><span class="pln">
         </span><span class="str">"c"</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Third"</span><span class="pun">,</span><span class="pln">
         </span><span class="str">"z"</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Last"</span><span class="pun">,</span><span class="pln">
         </span><span class="str">"others"</span><span class="pln">
         </span><span class="pun">)</span><span class="pln">
  
</span><span class="pun">}</span><span class="pln">
</span>

Output

<span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="str">"a"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"First"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="str">"b"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"Second"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="str">"r"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"others"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="str">"z"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"Last"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"First"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="lit">2</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"Second"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="lit">3</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"Third"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="lit">4</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"Last"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="lit">5</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="str">"others"</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="lit">6</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">is</span><span class="pun">.</span><span class="kwd">null</span><span class="pun">(</span><span class="kwd">use</span><span class="pun">.</span><span class="kwd">switch</span><span class="pun">(</span><span class="lit">6</span><span class="pun">))</span><span class="pln">
</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> TRUE
</span>

No Questions Data Available.

Stay Ahead of the Curve! Check out these trending topics and sharpen your skills.