R語言函數詳解及實例用法
函數是一組組合在一起以執行特定任務的語句。 R 語言具有大量內置函數,用戶可以創建自己的函數。
在R語言中,函數是一個對象,因此R語言解釋器能夠將控制傳遞給函數,以及函數完成動作所需的參數。
該函數依次執行其任務並將控制返回到解釋器以及可以存儲在其他對象中的任何結果。
函數定義
使用關鍵字函數創建 R 語言的函數。 R 語言的函數定義的基本語法如下
function_name <- function(arg_1, arg_2, ...) { Function body }
函數組件
函數的不同部分 –
- 函數名稱 -這是函數的實際名稱。 它作為具有此名稱的對象存儲在 R 環境中。
- 參數 -參數是一個占位符。 當函數被調用時,你傳遞一個值到參數。 參數是可選的; 也就是說,一個函數可能不包含參數。 參數也可以有默認值。
- 函數體 -函數體包含定義函數的功能的語句集合。
- 返回值 -函數的返回值是要評估的函數體中的最後一個表達式。
R語言有許多內置函數,可以在程序中直接調用而無需先定義它們。我們還可以創建和使用我們自己的函數,稱為用戶定義的函數。
內置功能
內置函數的簡單示例是 seq(),mean(),max(),sum(x) 和 paste(…) 等。它們由用戶編寫的程序直接調用。 您可以參考最廣泛使用的 R 函數。
# Create a sequence of numbers from 32 to 44. print(seq(32,44)) # Find mean of numbers from 25 to 82. print(mean(25:82)) # Find sum of numbers frm 41 to 68. print(sum(41:68))
當我們執行上面的代碼,它產生以下結果 –
[1] 32 33 34 35 36 37 38 39 40 41 42 43 44 [1] 53.5 [1] 1526
用戶定義的函數
我們可以在 R 語言中創建用戶定義的函數。它們特定於用戶想要的,一旦創建,它們就可以像內置函數一樣使用。 下面是一個創建和使用函數的例子。
# Create a function to print squares of numbers in sequence. new.function <- function(a) { for(i in 1:a) { b <- i^2 print(b) } }
調用函數
# Create a function to print squares of numbers in sequence. new.function <- function(a) { for(i in 1:a) { b <- i^2 print(b) } } # Call the function new.function supplying 6 as an argument. new.function(6)
當我們執行上面的代碼,它產生以下結果 –
[1] 1 [1] 4 [1] 9 [1] 16 [1] 25 [1] 36
調用沒有參數的函數
# Create a function without an argument. new.function <- function() { for(i in 1:5) { print(i^2) } } # Call the function without supplying an argument. new.function()
當我們執行上面的代碼,它產生以下結果 –
[1] 1 [1] 4 [1] 9 [1] 16 [1] 25
使用參數值調用函數(按位置和名稱)
函數調用的參數可以按照函數中定義的順序提供,也可以以不同的順序提供,但分配給參數的名稱。
# Create a function with arguments. new.function <- function(a,b,c) { result <- a * b + c print(result) } # Call the function by position of arguments. new.function(5,3,11) # Call the function by names of the arguments. new.function(a = 11, b = 5, c = 3)
當我們執行上面的代碼,它產生以下結果 –
[1] 26 [1] 58
使用默認參數調用函數
我們可以在函數定義中定義參數的值,並調用函數而不提供任何參數以獲取默認結果。 但是我們也可以通過提供參數的新值來獲得非默認結果來調用這樣的函數。
# Create a function with arguments. new.function <- function(a = 3, b = 6) { result <- a * b print(result) } # Call the function without giving any argument. new.function() # Call the function with giving new values of the argument. new.function(9,5)
當我們執行上面的代碼,它產生以下結果
[1] 18 [1] 45
功能的延遲計算
對函數的參數進行延遲評估,這意味著它們隻有在函數體需要時才進行評估。
# Create a function with arguments. new.function <- function(a, b) { print(a^2) print(a) print(b) } # Evaluate the function without supplying one of the arguments. new.function(6)
當我們執行上面的代碼,它產生以下結果
[1] 36 [1] 6 Error in print(b) : argument "b" is missing, with no default
到此這篇關於R語言函數詳解及實例用法的文章就介紹到這瞭,更多相關R語言函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found