본문 바로가기
R프로그래밍

R프로그래밍 - R에서 함수 내부 변수를 외부에서 사용하는 방법

by 미스터탁 2020. 6. 30.

일반적으로 함수를 만들고 함수 내부에서 사용하는것은 외부에서 사용이 불가합니다.

 

 

다음과 같이 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

반응형

댓글