天天看點

r語言c函數定義函數,R語言自定義函數

R語言某種程度來說本身就是一個函數庫,因為它有大量的函數可供調用,加上函數式程式設計,使得R語言的功能很強大。但是,有時候,根據實際需要,我們還是需要自己動手編寫函數,進而減少代碼的綴餘與工作量。

r語言c函數定義函數,R語言自定義函數

與其它語言一樣,函數的組成莫過于關鍵字function、形參、是否傳回值。函數的具體用法這裡用幾個例子說明

調用函數

這裡寫一個列印函數示範簡單的參數傳遞功能:

> a

> a('hello world!')

[1] "hello world!"

寫一個函數實作矩陣的乘法:

rm(list = ls())

a

{

m1

n

if(m1!=n)

{

print('error

dimension is not siutable')

return(0)

}

m

n1

s

for(i in 1:m)

for(j in

1:n1)

s[i,j]

return(s)

}

我們構造兩個矩陣

> x

> y

TRUE)

顯然x的列與y的行數不一樣,會不滿足矩陣的乘法。

> mat

[1] "error dimension is not siutable"

x

y

y

mat

> mat

[,1]

[,2]

[1,] 22 28

[2,] 49 64

函數的嵌套

在矩陣運算函數中定義了一個列印新矩陣最大值函數

rm(list = ls())

a

{

maxer

{

print(max(x.))

}

m1

n

if(m1!=n)

{

print('error

dimension is not siutable')

return(0)

}

m

n1

s

for(i in 1:m)

for(j in

1:n1)

s[i,j]

maxer(s)

return(s)

}

x

y

mat

[1] 64

R語言函數與其它語言相比很簡單、友善,實戰可能很複雜,需要根據實際情況,靈活運用。