麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > R > 正文

R語言中使用自定義函數

2023-05-01 13:45:42
字體:
來源:轉載
供稿:網友

R語言中提供了大量的內置函數為用戶解決有關問題,同時,R語言中允許用戶編寫自己的函數來解決實際問題。

R語言中定義自己的函數語法格式:

functionname <- function( arglist ) expr
return (value)

上面的語法中,functionname為自己定義的函數名稱;arglist是函數的參數列表,可以沒有參數,也可以有1個到多個參數;expr是自己編寫的相關語句;value是返回值,如沒有返回值,可以不寫return部分。

編寫函數時可以使用R編輯器的程序腳本功能來編寫:在R軟件中選擇菜單“文件”—>"新建程序腳本",打開“R編輯器”,編寫自己的函數程序。編輯完后,選擇菜單“文件”—>“保存”,輸入函數的文件名即可。在使用時,需要將函數加載到R中:可以使用菜單“文件”—>“運行R腳本文件”,然后選擇要運行的函數,或者執行代碼“source(函數名所在文件名.R)”即可。

如在R軟件下直接編寫的函數,可以直接調用。

R語言中自定義函數的方法

下面舉幾個例子來說明一下具體用法:

(1)無參函數

welcom<-function()
{
print("Welcome to my site:www.companysz.com")
}

將該函數保存到文件

該函數執行時,不需要給出參數,其作用是輸出一行字符串:Welcome to my site:www.companysz.com.

(2)帶參數的函數

編寫一個函數,求出向量中的最大值

maxvalue<-function(x)
{
if(length(x)==0)
stop("參數x不能為空值。");
maxv<-x[1]
for(i in 2:length(x))
if(x[i] > maxv)
maxv <- x[i]
return(maxv)
}

如使用本函數求下面向量X的值

X<-c(11,34,21,38,71,29)
maxvalue(X)

輸出:71

(3)帶默認參數的函數

有時一個函數中有多個參數時,部分參數可能在一些情況下用戶不必提供或用戶無法提供時,可以使用默認值。

編寫一個函數,求出三個數的最大值

maxnum<-function(n1,n2=0,n3)
{
maxn <- n1
if(n2 > maxn)
maxn <- n2
if(n3 > maxn)
maxn <- n3
return(maxn)
}

這個自定義函數中,n2使用了默認值0,在調用時,下面幾種格式都是合法的。

maxnum(1,2,3)
maxnum(1,n3=3) 

上面第二個調用中,參數n2沒有給出值,則會使用其默認值,但n3必須使用參數名來調用,否則,會發生n3沒有賦值的錯誤,因為R會按照給出的參數列表從左到右依次給每個參數賦值,如不用參數名,3會給了參數n2,造成沒有默認值的參數n3沒有賦值的錯誤。

最好的做法是,將帶有默認值的參數放在所有參數的后面。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 性爱在线免费视频 | 久久久新 | 欧美精品一区二区久久 | 欧美人xxx| 在线日韩亚洲 | 亚洲不卡 | 成人毛片免费看 | 蜜桃久久一区二区三区 | xxxxhd73国产| 91精品福利视频 | 久久精品视频日本 | av成人一区二区 | 91精品免费在线 | 久久久久久久久久久久久九 | 免费看成年人网站 | 欧美一级爱爱 | 国产精品999在线观看 | 国产精品一区2区3区 | 国产精选91| 欧美wwwwww | 国产免费传媒av片在线 | av日韩一区二区三区 | 欧美成人午夜一区二区三区 | 在线91视频 | 色网站免费观看 | 欧美成人精品不卡视频在线观看 | 姑娘第四集免费看视频 | 欧美a级毛片 | 久久精品com | 欧美一级全黄 | 国产亚洲精品久久久久久网站 | 九色在线78m | av电影网在线观看 | 麻豆视频在线观看 | av影院在线播放 | 深夜免费福利视频 | 精品不卡 | 九草在线视频 | 国产精品一区在线观看 | 91av资源在线 | 日本欧美一区 |