R프로그래밍
R프로그래밍 - R에서 함수 내부 변수를 외부에서 사용하는 방법
미스터탁
2020. 6. 30. 15:49
일반적으로 함수를 만들고 함수 내부에서 사용하는것은 외부에서 사용이 불가합니다.
다음과 같이 xx라는 함수를 만들었다 라고 가정을 해보죠
xx함수내에서 t2,t3,t4라는 함수를 만들고 이를 반환하게되죠.
xx(1)의 값은 c(2, 3, 4)가 됩니다.
xx<-function(x){
t2<-x+1
t3<-t2+1
t4<-t2+2
c(t2,t3,t4)
}
xx(1)
t2
t3
t4
함수내에서 t2, t3, t4를 사용했지만 함수 밖에서 t2, t3, t4를 호출해봤자 아래 캡쳐 화면처럼 없는 object라고 나오게 됩니다.
이는 t2, t3, t4가 함수 내 지역변수로 선언해줬기 때문인데. 작업을 하다 보면, 함수 안에 있는 변수값을 필요로 할때가 있습니다. 수월한 디버깅을 위해서도 필요하죠.
이걸 가능하게 해주는 것은 매우 간단합니다.
'<<-' 연산자를 활용하는 건데요. 단순히 <- 이 연산자를 <<- 이렇게 바꿔주시기만 하면됩니다.
코드를 아래와 같이 작성후 실행하면 이전과는 다르게 함수내에 할당 되어 있는 값들을 확인 하실 수 있습니다.
xx<-function(x){
t2<<-x+1
t3<<-t2+1
t4<<-t2+2
c(t2,t3,t4)
}
xx(1)
t2
t3
t4
반응형