R語言 Switch語句

2021-07-26 09:14 更新

?switch ?語句允許根據(jù)值列表測試變量的相等性。 每個值都稱為case,并且針對每種情況檢查打開的變量。

語法

在 R 中創(chuàng)建 ?switch? 語句的基本語法是 -

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

以下規(guī)則適用于 ?switch ?語句:

  • 如果 ?expression? 的值不是字符串,那么它被強制為整數(shù)。
  • 在交換機中可以有任意數(shù)量的 ?case ?語句。 每個案例后面都跟要比較的值和冒號。
  • 如果整數(shù)的值在 ?1 ?和 ?nargs() - 1?(參數(shù)的最大數(shù)目)之間,則對 ?case ?條件的相應(yīng)元素求值并返回結(jié)果。
  • 如果表達式求值為字符串,那么該字符串與元素的名稱匹配。
  • 如果有多個匹配,則返回第一個匹配元素。
  • 無默認參數(shù)可用。
  • 在沒有匹配的情況下,如果有一個未命名的元素...它的值被返回。 (如果有多個這樣的參數(shù),則返回錯誤。)

流程圖


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

當上面的代碼被編譯和執(zhí)行時,它產(chǎn)生以下結(jié)果 -

[1] "third"

例2

?runif()? 函數(shù)用于生成從 ?0 ?到 ?1 ?區(qū)間范圍內(nèi)的服從正態(tài)分布的隨機數(shù):

switch(1,2*3,sd(1:5),runif(3))  #返回(2*3,sd(1:5),runif(3))list中的第一個成分 
switch(2,2*3,sd(1:5),runif(3))  #返回第二個成分
switch(3,2*3,sd(1:5),runif(3))  #返回第三個成分

當上面的代碼被編譯和執(zhí)行時,它產(chǎn)生以下結(jié)果 - 

[1] 6
[1] 1.581139
[1] 0.31508117 0.04610938 0.19489747


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號