Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[R] 환경변수 설정 Computer & Program


지난번 R에서 지역(locale) 설정에 이어서, 이번엔 환경변수를 설정하는 방법이다.

R에서 지역(locale) 설정 포스트는 R이 한글 번역을 지원하면서 오류 메시지 등이 OS의 지역(locale)에 맞춰서 한글로 표시되는 것을 영문으로 변경하는 방법에 관한 내용이었는데, 이 방법은 R 콘솔을 실행할 때 마다 Sys.setlocale() 명령을 매번 실행해 줘야 하는 번거로움이 있었다. "분명히 환경설정을 파일로 저장해두고 R 콘솔을 실행할 때 읽어오는 기능이 일을텐데" 하면서 검색..


R manual에서 R: Initialization at Start of an R Session 문서를 발견했다. 곰곰히 살펴보니 ~/.Renviron과 ~/.Rprofile 파일을 잘 사용하면 될 것 같다. 일단, 이 두 파일은 R을 설치했을 때 생성되어 있지는 않는 것 같고 (Mac용 R 기준), 만일 파일이 존재하면 수정해서 사용하고 없으면 생성하면 된다.

~는 OS의 home directory를 뜻하며, 윈도 XP는 C:\Documents and Settings\${USER_NAME}이고, 윈도 7과 8은 C:\Users\${USER_NAME}일 것이다. (설치된 OS에 따라 다를 수 있음) Linux나 Mac, Unix 등이라면 터미널에서 "cd ~" 명령으로 간단히 이동할 수 있다.


home directory에 원하는 파일을 만들면 된다. 두 파일은 약간 성격이 다르니 각각 살펴보자.

~/.Renviron
환경설정을 key, value 형태로 저장하는 파일이다.
## Example ~/.Renviron
# 메시지 한글로 표시
LC_CTYPE=C
LC_MESSAGES=C

# 페이지 처리 명령 설정 등등 여서 설정을 할 수 있다.
PAGER=/usr/bin/less


~/.Rprofile
R 콘솔에서 실행하는 명령어 형태로 저장하는 파일이다. ~/.Renviron처럼 환경변수만 설정할 수 있는 것이 아니라, R 콘솔을 실행한 다음 매번 실행해 주고 싶은 명령이 있다면 적어줄 수도 있다.
Sys.setlocale("LC_CTYPE", "C")

# 아래와 같이 적어두면 R 콘솔을 실행시키면 언제나 vector a를 참조할 수도 있다.
a <- c(1, 2, 3)
raw <- read.csv('/path/to/the/file')


아래 이미지는 ~/.Renviron 파일에 "LC_CTYPE=C"로 설정한 경우와 아닌 경우이다. R 콘솔에 접속하면 메시지부터 바로 확인할 수 있다.



모든 사용자의 설정을 변경하려면 ${R_HOME}/etc/Renviron, ${R_HOME}/etc/Renviron.site, ${R_HOME}/etc/Rprofile.site 등의 파일을 변경하면 된다. 설정의 우선순위는 home directory에 있는 각 사용자 계정의 설정이 우선 시 된다.


- 참고
R: Initialization at Start of an R Session
R: Query or Set Aspects of the Locale

덧글

댓글 입력 영역

Google AdSense (text/image)