#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:/rProject/Library) * 폴더를 만들고자 하는 위치에서 우클릭 -> 새로 만들기 -> 폴더 선택 * 폴더 이름은 자유롭게 정하면 된다. 다만 한글을 포함하지 않도록 하는 것이 중요하다. * C:/기의통/RLibrary -> 역시 곤란하다. '기의통' 부분을 ??? 로 인식하고 찾아다닐 것이다. * D:/Rproj/Lib -> 가능함. 한글만 없으면 된다. 1. 이 파일을 찾아서 메모장으로 연다. C:/Program Files/R/R-x.x.x/etc/Rprofile.site (x.x.x는 현재 사용중인 R 버전이다.) * 파일을 찾아서 우 클릭 후 [편집]을 선택한다. * 만약 [편집]이 리스트에 없다면, [연결 프로그램]을 선택하고, [추가앱]에서 [메모장]을 선택한 후, * [학상 이 앱을 사용하여 .site 파일 열기]를 체크 해제하고, [확인]을 누른다. 1. Rprofile.site 파일 가장 아래에 다음을 추가한다. {{{ .libPaths("C:/rProject/Library") }}} * libPaths 앞 마침표 . 하나 꼭 필요하다. * 대소문자에 유의한다. * ```C:/rProject/Library``` 대신 위에서 실제로 만든 폴더 위치를 입력한다. 1. 파일을 저장한다. (Windows 관리자 권한이 필요하다) 1. R을 재시작하면 앞으로 package는 ```C:/Rproject/Library``` 혹은 지정된 폴더로 다운로드 된다. * Console에서 ```.libPaths()```를 입력하면 설정이 바뀌었는지 확인 가능하다. == 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 서버에는 한글 폰트가 아예 없음. 한글 폰트 지정이 불가능함 * 그래프에서 한글을 포기한다. * 한글 내용을 영문으로 출력한다. ----- <>