有時候會遇到需要在函數內使用其他函數,且需修改第二層函數的參數,
第二層函數f2的參數y無法利用f1來給定:
> f1=function(x)
+ {
+ print(x)
+ f2=function(y)
+ {
+ print(y+1)
+ }
+ f2(y)
+ }
> f1(x=1,y=1)
Error in f1(x = 1, y = 1) : unused argument (y = 1)
1.全域變數:
> assign( “y”, 115, env = .GlobalEnv)
> f1=function(x)
+ {
+ print(x)
+ f2=function(y)
+ {
+ print(y+1)
+ }
+ f2(y)
+ }
> f1(x=1)
[1] 1
[1] 116
2.函數(...):
> f1=function(x,…)
+ {
+ print(x)
+ f2=function(y)
+ {
+ print(y+1)
+ }
+ f2(…)
+ }
> f1(x=1,y=1)
[1] 1
[1] 2