일반적으로 함수를 만들고 함수 내부에서 사용하는것은 외부에서 사용이 불가합니다.
다음과 같이 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
반응형
'R프로그래밍' 카테고리의 다른 글
R프로그래밍 - 코드 실행 시키지 않게 유지시키는 Sys.sleep 함수 (0) | 2020.07.02 |
---|---|
R프로그래밍 - 복원추출 / 비복원추출 (sample 함수) (0) | 2020.07.02 |
R 프로그래밍 - plot 저장하기 (해상도 및 크기 조절, multi plot) (0) | 2020.06.29 |
R프로그래밍 - R에서 자동으로 여러개의 변수 선언하기 (0) | 2020.06.29 |
R프로그래밍 - Vector , matrix, dataframe, list dimension 구하기 (0) | 2020.06.29 |
댓글