아마도 간단한 질문이지만, 환경과 관련된 작업과 범위 설정은 여전히 혼란 스럽습니다.R : 상위 레벨 함수에 값을 지정하십시오.
함수에 중첩 된 함수가 있습니다.
이myfun <- function(m) {
m*3*y
f1 <- function() {
assign(x = y, value = 2, envir = parent.frame())
}
f1()
}
그러나 오류는 다음과 같습니다 무엇을 달성하려고하는 값을 지정하는 것입니다 부모의 중첩 된 함수에서 거기 사용합니다 (assign
기능을 사용하여, 나는 <<-
를 사용하는 것은 위험 할 수 있습니다 읽었습니다) 반환
Error in myfun(m = 5) : object 'y' not found
, 내가 등 함수에 중첩 된 함수에 중첩 된 함수에 중첩 된 함수를, 가지고, 나는 상위 레벨이 값을 할당하는 선택하려는 경우 가장 낮은 수준의 함수에서?
'function (m)'에서 'y'변수는 무엇입니까? –
@Carles Mitjans :'y'는 함수 f1에서 정의 된 2의 값을 취합니다. – panman
'm * 3 * y'가있는'myfun' 첫 줄에는'y'가 정의되어 있지 않으므로 그 오류가 발생합니다. –