R 환경 설정 파일 Renviron , Rprofile 한글 인코딩 설정시 사용

   R 환경 설정 파일에서 반드시 쓸 일이 있다.   오라클 한글 인코딩 설정 할 때 꼭 필요 한데, 이 부분을 잘 몰라서,  우리 회사 서버 팀과 같이 서로 고생들만 하였다.   어찌 되었든 이 부분에 대한 개념은 매우 중요 하니, 아래와 같이 이야기 하겠다. 


  R에는 2종류의 환경 설정 파일이 있다. 

  • 라이브러리 저장할 곳 등의 환경 변수를 지정 하는 ''
  • CRAN의 미러 사이트나 그래프 옵션 등을 R 코드로 지정한 'Rprofile'

  Reviron의 저장 장소 

  • 우분투 운영체계라면  R.home()을 실행 해서 표시되는 R 홈 폴더의 'etc' 폴더 내의 'Reviron.site'를 참조 한다.  
R.home()
## [1] "/usr/lib/R"
아래의 예는 redhat 기준이다. 
#cd /usr/lib64/R/etc # RedHat Backup R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:/usr/local/lib/R/librar y:/usr/lib64/R/library:/usr/share/R/library'} LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/11.2/client64/lib:/usr/lib:/u sr/lib64:/lib #LD_LIBRARY_PATH TNS_ADMIN=~/ ORACLE_HOME="/home/rdm123/" BRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH PATH=$ORACLE_HOME/bin:$PATH LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH NLS_LANG=KOREAN_KOREA.AL32UTF8 위에는 오라클 한글이 깨질때,  사용하는 것이다. 

우분투에서 아래의 명령어를 치면 환경 변수를 확인 할 수 있다. 
 $ export

위와 같이 치면,  패키지 설치 하는데,  문제가 생긴다.   따라서 아래와 같이 하는 것을 권장 한다.   


ORACLE_HOME=/usr/lib/oracle/21/client64 LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/21/client64/lib:/usr/lib:/usr/lib64:/lib TNS_ADMIN=~/ LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib:$LD_LIBRARY_PATH LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/21/client64/lib:/usr/lib:/usr/lib64:/lib NLS_LANG=KOREAN_KOREA.AL32UTF8 PATH=$ORACLE_HOME/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$PATH

Rprofile 의 저장 장소 

   R 홈 폴더('usr/lib/R')의 etc 폴더 안에  'Rprofile.site'를  참고 한다. 
 

options(repos = "https://cran.rstudio.com")

setHook(packageEvent('grDevice','onLoad'), 
        function(...)grDevices::pdf.options(family = 'korea1'))

setHook(packageEvent('grDevice','onLoad'),
        function(...)grDevices::ps.options(family = 'korea1'))
  첫번째 줄은 패키지 설치 등으로 접속하는  CRAN 사이트를 설정 하고 있고, 
 그 이하 줄은 한글을 포함하는 PDF 파일이나 PostScript 파일을 작성 할때,  글자가 깨지지 않도록 하는 설정이다.  
 



댓글 없음:

댓글 쓰기

공무 스케줄 AI Agem에 대한 생각

     지금 상황이 아비 규환이다.  어느 부서든 회사가 인수 합병되고 나서  투자를 기획하는 경영기획이 특히 않이 정신이 없고, 우리부서도 전부 미국 필리 조선소로 인원이 나가 있어,  사실상 10년 이상 고기량자는 거의 없다.   우리부서에 남아...