R 언어 - 매개변수로 함수 객체 참조

문제 설명


R의 함수에서 문자열을 통해 다른 함수를 호출하는 방법다음 예:
testFun function(Fun){
   x 1:100
   Fun(x)
}

해법


이 문제는 사실 매우 멍청한 것이 아니라, 단지 기록하려고 하는 것이다.
#1.  
testFun function(Fun){
   x 1:100
   Fun(x)
}
testFun(sum) # 5050
testFun(Fun = function(x) sum(x) + 1) # 5051


#2. do.call
testFun function(Fun){
   x 1:100
   do.call(Fun, list(x))
}
testFun(sum)  # 5050
testFun(Fun = function(x) sum(x) + 1)  # 5051 
testFun('sum') # 5050  -- do.call 

#3. eval,parse ( )
testFun function(Fun){
   x 1:100
   eval(parse(text = Fun))
}
testFun('sum(x) + 1') # 5051

#4. match.fun 
testFun function(Fun){
  x 1:100
  Fun # 5050
testFun('sum') # 5050

좋은 웹페이지 즐겨찾기