當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R function 函數定義


R語言 function 位於 base 包(package)。

說明

這些函數提供了定義新函數的基本機製R語言。

用法

function( arglist ) expr
\( arglist ) expr
return(value)

參數

arglist

空或一個或多個名稱或名稱=表達式術語。

expr

一種表達。

value

一種表達。

細節

參數列表中的名稱可以是反引號的非標準名稱(請參閱“backquote”)。

如果value 缺失,則返回NULL。如果它是單個表達式,則返回計算表達式的值。 (在函數的求值框架中,在求值任何 on.exit 表達式之前,一旦調用 return,就會對表達式求值。)

如果在未調用 return 的情況下到達函數末尾,則返回最後計算的表達式的值。

簡寫形式 \(x) x + 1 被解析為 function(x) x + 1 。它可能有助於使包含簡單函數表達式的代碼更具可讀性。

技術細節

這種類型的函數不是唯一的類型R: 他們叫關閉(起源於 LISP 的名稱)以區分它們base Primitive職能。

閉包具有三個組件:formals(其參數列表)、body(“用法”部分中的expr)及其environment(在使用閉包時提供評估框架的封裝)。

如果閉包是byte-compiled,則還有一個可選的進一步組件。這通常不是user-visible,但在打印函數時會指示。

例子

norm <- function(x) sqrt(x%*%x)
norm(1:4)

## An anonymous function:
(function(x, y){ z <- x^2 + y^2; x+y+z })(0:7, 1)

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

args

formalsbodyenvironment 用於訪問函數的組成部分。

debug 用於調試;在return(.)中使用invisible來隱式返回。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Function Definition。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。