ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 맥에서 R studio를 사용할때의 간단한 에러해결법
    Programming & Machine Learning/R X 머신러닝 2017. 7. 11. 00:52

    맥에서 R 스튜디오를 사용하여 이것저것 패키지를 설치하거나, 혹은 한글로 된 데이터 파일을 처리할 때 빈번하게 오류가 발생한다.


    예전에는, R을 데이터 분석 용도보다는 크롤러 제작용이나 학교 과제용으로 활용했었기 때문에,

    항상 그때그때 발생하는 오류를 stack overflow의 힘을 빌려 어거지로 해결했었다.




    이번에 R을 체계적으로 다시 공부하면서 이러한 부분들에 대한 진지한 trouble shooting을 진행했는데,


    생각보다 문제의 원인은 간단하다.

    stack overflow나 기타 R 커뮤니티 사이트에 UTF-8 인코딩 문제나, 

    Java SDK를 사용하는 패키지를 실행할 때 마다 발생하는 에러들에 대한 수많은 글들의 근본적인 해결책은 동일했다.


    R에서 발생하는 대부분의 문제가, 아래의 크고 간단한(?) 두가지 대 명제를 기반으로 천천히 상대한다면 대부분은 해결된다.







    1. rJava 라이브러리의 경로 문제.


    selenium, NLP 등등 Java SDK를 사용하여 구동되는 라이브러리는 R studio에서 rJava라는 패키지를 wrapper 혹은 starter로 사용하는 듯 하다.


    그때마다 이런 종류의 에러를 심심찮게 발견했을 것이다.



    Mac OS 에서 Java SDK 실행경로를 올바르게 지정하지 못하여 발생하는 문제이기도 하고, 최신버전의 자바가 맥에서 깔리지 않는 문제이기도 하다.


    어찌되었든 문제의 핵심은 Java SDK 인데, 이를 해결하기 위해서는 Mac용 자바를 따로 설치해 주어야 한다.


    맥에서 Java Path를 설명해주는 해결법은 http://yamalab.tistory.com/8 에 설명되어 있는대로 시도하면 쉽게 해결된다.





    2. 한글 인코딩 문제.


    다음으로 csv, xlsx등의 포맷으로 된 데이터 파일들을 읽어들이거나 처리할 때 생기는 인코딩 문제이다.


    R로 프로그래밍을 하다보면 이 인코딩 문제때문에 빡칠가 있지만, 맥에서는 몇가지만 염두에 두면 거의 대부분은 해결되는 것 같다.


    첫번째로 R studio 시스템에서의 기본 인코딩 타입을 설정해주는 것이다.


    ----------------------------------------------------------------------------------


    Sys.setlocale("LC_ALL", "ko_KR.UTF-8")



    ----------------------------------------------------------------------------------


    이라는 라인을 실행하면, 대부분의 인코딩 문제는 해결된다.


    물론 이 경우는 파일 자체를 일단 성공적으로 메모리상에 올려두었을 때 이야기이다.


    한국어 데이터로 작성된 데이터 파일에서 파일을 읽어들이지 못하는 문제는 대부분


    eur-kr의 인코딩 형식으로 파일이 저장되어있기 때문일 가능성이 크다.


    이 경우, 데이터를 읽어들일 때 이 부분만 명시해주면 된다.


    ----------------------------------------------------------------------------------


    data = read.csv("data.csv", header = T, fileEncoding="euc-kr")


    ----------------------------------------------------------------------------------

    댓글

분노의 분석실 Y.LAB