R語言中switch函數與其它語言中的switch具有天壤之別

語言中的switch函數與其它語言中的switch語句是完全不同的,從這裡的叫法中大家也應該知道,R中的switch是一個函數,而其它語言中switch是一個開關語句。

在R語言中,switch函數的語法形式如下:

switch(expr, list)

其中,expr為表達式,其值或為一個整數值或為一個字符串;list為一個列表。

R語言中switch函數與其它語言中的switch具有天壤之別

運行機理:若expr的計算結果為整數,且值在1~length(list)之間時,則switch()函數返回列表相應位置的值。若expr的值超出範圍,則沒有返回值(老版本的R中返回NULL)。

例1:一個簡單的應用

x

switch(x, "翔宇亭IT樂園", "頭條號", "R語言學習", "優美的代碼")

R語言中switch函數與其它語言中的switch具有天壤之別

由該例可知,x的值為2,則switch函數根據傳入的值2,輸出列表中的第2個值:頭條號。

例2:看看下面兩個例子的輸出值是多少:

switch(3, 3+5, 3*5, 3-5, 3**5)

switch(2*2, mean(1:10), sum(1:10), max(1:10), min(1:10), sqrt(1:10))

R語言中switch函數與其它語言中的switch具有天壤之別

若switch()中的參數list是有名定義時,則當expr等於元素名時,返回變量名對應的值,否則沒有返回值。

例3:

you.like ​

switch(you.like, drink="water", meat = "beef", fruit = "apple", vegetable = "cabbage")

R語言中switch函數與其它語言中的switch具有天壤之別

我們使用switch函數的這一性質可以定義一個函數實現多種操作:

R語言中switch函數與其它語言中的switch具有天壤之別

歡迎關注本號,本號將持續更新R語言方面的文章,內容由淺入深,由基本語法到具體的數據分析應用。希望你能喜歡。


分享到:


相關文章: