2015-01-08 2 views
0

R에 일부 기능을 쓰고 있는데 문제가 있습니다. 요약하면, 필자가 작성한 함수 안에서는 내가 개발 한 다른 함수를 호출한다. 두 번째 함수는 첫 번째 함수와 몇 가지 인수를 공유합니다. 첫 번째 함수의 인수와 동일한 값을 가져야하는이 두 번째 함수를 지정하는 방법은 무엇입니까?R의 중첩 된 함수에서 인수 상속의 종류는?

first.fx=function(arg1,arg2,arg3,...){ 
    . 
    . 
    . 
    second.fx=function(arg2,arg3,arg4,...){ 

    } 
} 

second.fx는 첫 번째 arg2와 공유합니다. & arg3. 이 값을 second.fx로 상속하는 방법?

답변

2

간단히 second.fx의 정의에 기본 매개 변수로 first.fx로 호출에서 오는 값 (할당합니다. 당신은 second.fx의 정의에 명시 적으로 인수를 선언 할 필요가 없습니다

second.fx <- function(arg2=arg2,arg3=arg3,arg4,...){ 
1

을함으로써 magic of lexical scoping에서이 변수는 first.fxsecond.fx의 환경에서 찾을 수 있습니다.

first.fx <- function(arg1, arg2, arg3, ...) 
{ 
    second.fx <- function(arg4) 
    { 
      # values of arg2/3 will be found from first.fx's environment 
    } 
} 
관련 문제