lapply
을 사용하여 비슷한 기능의 목록을 만들려고 할 때 목록의 모든 기능이 동일하고 최종 요소의 기능과 동일하다는 것을 알게되었습니다. 당신은 당신이 동일한 결과를 얻을 이러한 기능을 평가하려고 할 때lapply에서 익명의 함수 반환 - 무슨 문제가 있습니까?
pow <- function(x,y) x^y
pl <- lapply(1:3,function(y) function(x) pow(x,y))
pl
[[1]]
function (x)
pow(x, y)
<environment: 0x09ccd5f8>
[[2]]
function (x)
pow(x, y)
<environment: 0x09ccd6bc>
[[3]]
function (x)
pow(x, y)
<environment: 0x09ccd780>
:
는 다음 사항을 고려
pl[[1]](2)
[1] 8
pl[[2]](2)
[1] 8
pl[[3]](2)
[1] 8
여기에 가고, 어떻게 내가 (내가 원하는 결과를 얻을 수있는 것 목록의 올바른 기능)?
나는 확실하지 않다가, 당신의 목표는 무엇인가. 아마도'pl <- function (x, y) lapply (y, function (y) pow (x, y)); pl (2,1 : 3)'? – Roland
Ross Ihaka (RCore)의이 노트 (특히 Lazy Evaluation에 대한 부분)가 도움이 될 수 있습니다. www.stat.auckland.ac.nz/~ihaka/downloads/Waikato-WRUG.pdf –
R 3.2.0, 내 대답은 아래 참조하십시오. – jhin