国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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.survivalescaperooms.com")
}

將該函數保存到文件

該函數執行時,不需要給出參數,其作用是輸出一行字符串:Welcome to my site:www.survivalescaperooms.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沒有賦值的錯誤。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托里县| 盐源县| 宁化县| 施秉县| 余姚市| 涞水县| 乌拉特中旗| 濮阳县| 昌乐县| 商都县| 昌黎县| 甘谷县| 石城县| 绥中县| 于田县| 鹤峰县| 芷江| 杭州市| 夏津县| 米泉市| 乌拉特前旗| 德格县| 双鸭山市| 保康县| 班戈县| 峨山| 民丰县| 资阳市| 深圳市| 社旗县| 繁昌县| 南和县| 兴山县| 福贡县| 临清市| 宜城市| 舞钢市| 巴东县| 高邮市| 衡阳市| 庄河市|