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

반응형