当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。