1、R语言通过function()指令来命名和创建函数。首先要给函数赋值,也就是命名,然后在小括号中写入参数,最后再大括号中写入函数要执行的语句,其基本语法是
2、形式参数(formal arguments)形式参数是包含在函数定义里的参数。formals()会将一个函数作为输入(input),并返回函数所有的形式参数组成的列表。在R中,不是所有命令都用到所用的形式参数。加入一个函数中设置了10个参数,但我们往往并不需要指定每个参数的值是啥,所以函数可以缺失某些参数。当没有明确赋值是,它的取值就是缺省值(默认值,default value)匹配参数(argument matching)可以根据位置或名称来匹配函数参数,这是编写和调用函数的关键。以计算数据标准差的函数sd()为例。
3、比如lm()函数(把数据拟合到线性模型),它的参数列表这么长
4、前五个参数都没有缺省值,依次是,公式、数据、子集、权重等。这里使用者必须要指定他们的值
5、大多数情况下,我们不知道参数的具体位置,所以在命令行中,命名参数来匹配最安全
6、惰性求值是R语言的一个关键特性,也是许多编程语言常用的模型。仅在使用函数参数时对其求值
7、这里定义函数f,有两个参数,但返回值仅仅是a的平方。所以当运行f(2)时,和b无关,所以系统自动跳过,不会报错。