参数值在定义函数的时候设为默认就可以了。比如:
<br />
> f=function(x,a=1)x+a<br />
> integrate(f,0,1)<br />
1.5 with absolute error < 1.7e-14<br />
或者把参数扔在函数外面
<br />
> a=1<br />
> f=function(x)x+a<br />
> integrate(f,0,1)<br />
1.5 with absolute error < 1.7e-14<br />
或者第三种办法(可能是你最希望的)就是把参数直接放在integrate函数中,但不是放在f中:
<br />
> f=function(x, aaa)x+aaa<br />
> integrate(f,0,1,aaa=1)<br />
1.5 with absolute error < 1.7e-14<br />
注意为什么我把a改成aaa了:因为R中的函数大部分都会模糊匹配参数,如果仍然用a,那么这个a就会与integrate函数两个自身的参数abs.tol和aux匹配,不仅会导致双重匹配的函数错误,而且不能把参数值传递到f中去,参数名改为与integrate自身参数不相冲突的名称就OK了。