R函数是第一类对象(第一类对象在计算机科学中 指可以在执行期创建并作为参数传递给其他函数或存入一个变量的实体。将一个实体转化为第一类对象的过程叫“对象化”)。这意味着函数在绝大多数情况下,也可以作为对象来操作。
创建函数的语法如下:
g <- function( x ){
return ( x + 1 )
}
这里,function()是一个内置的R函数,其功能就是创建函数。在它的右边,其实是function()的两个参数:第一个参数是所创建函数的形式参数列表,上面这段代码中仅仅是x;第二个参数是函数的主体部分,简称函数体,在本例中为:return ( x + 1 )。第二个参数必须是“expression”类,即表达式类。因此,右边这部分创建了一个函数类的对象,然后赋值给g。
function()的这两个参数在创建函数之后能够通过函数formals()和body()来获得。如下所示:
> formals( g )
$x > body( g )
{
return(x + 1)