#acl +All:read #format wiki #language ko #pragma description 기초의학통계학 및 실험; = R에서 한글 사용시 고려해야할 것들 = == 한글 Windows에서 R 사용시 주의할 것들 == === install.packages()의 오류 === install.packages()를 call하면 R은 해당 package를 다운로드 받아 library에 저장한다. 1. R은 첫번째로 C:/Program Files/R/R-x.x.x/library 에 저장을 시도한다. * 그런데 Windows에서 C:/Program Files는 보안을 이유로 접근을 제한한 위치이다. {{attachment:RLibraryError1.png}} 1. 그래서 R은 사용자에게 묻는다. Would you like to create a personal library at C:/Users/계정이름/Documents/R/win-library/x.x? {{attachment:RLibraryError2.png}} * 그런데 저 계정이름이 한글인 경우 R은 인식을 못 한다. 한글을 ??? 로 인식하고 그 폴더를 찾지만 그런 폴더가 있을리가 없지. {{attachment:RLibraryError3.png}} * '''계정 이름이 영문'''으로 된 경우는 당연히 '''아무 문제'''가 '''없다'''. ==== 해결책 ==== 1. R Library로 쓸 빈 폴더를 하나 만든다. (예: C:\Library\R) * 폴더를 만들고자 하는 위치에서 우클릭 -> 새로 만들기 -> 폴더 선택 * 폴더 이름은 자유롭게 정하면 된다. 다만 한글을 포함하지 않도록 하는 것이 중요하다. * C:\기의통\RLibrary -> 역시 곤란하다. '기의통' 부분을 ??? 로 인식하고 찾아다닐 것이다. * D:\Rproj\Lib -> 가능함. 한글만 없으면 된다. 1. [시작] 버튼을 누른 후 키보드로 "제어판"을 입력하여 "제어판"을 실행한다. 1. [사용자 계정] -> [사용자 계정] -> [환경 변수 변경] 를 선택하고 1. 리스트에 R_LIBS_USER 가 있는지 확인한다. 있으면 [편집]을 누르고 없으면 [새로 만들기]를 선택한다. * 변수 이름: R_LIBS_USER * 변수 값: C:\Library\R (위에서 실제로 만들어 둔 폴더를 입력한다) 1. [확인]을 클릭하여 빠져나온 후, R(혹은 RStudio)를 재시작한다. 1. R을 재시작하면 앞으로 package는 ```C:\Library\R``` 혹은 지정된 폴더로 다운로드 된다. * Console에서 ```Sys.getenv("R_LIBS_USER")```를 입력하면 설정이 바뀌었는지 확인 가능하다. === OneDrive에서 한글 인식 오류 === 1. OneDrive가 설치된 Windows PC에서는 계정 아래 "문서" 폴더가 R의 기본 폴더로 지정되는데, 1. "문서"라는 한글을 인식 못 해서 ??? 라는 이름의 폴더를 찾고서는 그런 폴더 없다고 오류 메세지를 내보낸다. ==== 해결책 ==== 1. 위와 같은 방법으로 환경변수를 추가한다. * 변수 이름: R_USER * 변수 값: 이름에 한글이 없는 폴더 아무거나 (혹은 %USERPROFILE% 라고 하면 사용자의 기본 폴더로 지정된다) == macOS나 Linux에서 고려할 사항 == === 다운로드 받은 한글 데이타가 깨져서 로딩 될 때 === 한글 encoding 문제임. * 한글은 내부적으로 2진수로 변환하여 저장/처리되는데, 그 2진수화 과정을 encoding 이라고 부름. * MS-Windows는 [[https://namu.wiki/w/EUC-KR|EUC-KR]]이라는 encoding 방법을 이용하여 한글을 변환함. * macOS나 RStudio.cloud를 포함하는 Unix, Linux 운영체제는 [[https://namu.wiki/w/UTF-8|UTF-8]]이라는 encoding 방법을 이용하여 한글을 변환함. 문제는 Windows system에서 작성된 한글 text 파일을 Unix(macOS 포함)나 Linux(RStudio.cloud 포함)에서 읽을 때 일어남. * 해결방법: read.csv() 함수를 사용할 때 ```fileEncoding = 'euc-kr'``` 옵션을 추가. * 반대로 Unix, Linux에서 작성된 한글 text 파일을 다운받아 Windows 에서 열 때는 ```fileEncoding = 'utf-8'``` 옵션을 추가. * Windows도 궁극적으로는 업계표준인 utf-8으로 통일 될 것이다. {{{#!highlight r df <- read.csv('데이타.csv', fileEncoding = 'euc-kr') # 만약 Windows를 사용중인데 한글이 깨지면 파일의 한글 인코딩이 utf-8 일 가능성이 크다. df <- read.csv('데이타.csv', fileEncoding = 'utf-8') }}} === plot()에서 한글이 깨져 보일 때 === 한글을 출력할 폰트가 지정이 안 되어 생기는 문제 * 한글 폰트를 지정하여 간단히 해결 {{{#!highlight r par(family = "AppleGothic") plot(y ~ x, data=df) }}} 주의: RStudio.cloud 서버에는 한글 폰트가 아예 없음. 한글 폰트 지정이 불가능함 * 그래프에서 한글을 포기한다. * 한글 내용을 영문으로 출력한다. ----- <>