1.2 R 설치 및 환경설정

1.2.1 R 설치

CRAN에서 R을 내려 받아 설치한다. 가급적 영문으로 설치한다.

R 설치시에는 대부분 default option으로 하면 되나, 아래 3가지 화면에서는 그림처럼 option을 선택하는 것이 좋다.

1.2.2 Rtools 설치

CRAN의 Rtools 최신 버전을 찾아 설치한다.

1.2.3 R package update

R setup 파일이 만들어진 직후에도 여러 개의 기본 package들이 update되는 경우가 흔하다. 아래는 그 예이다.

nlme 3.1-157 3.1-158
MASS 7.3-56  7.3-57

R 상단의 ‘Package’ \(\rightarrow\) ‘Update packages…’ 메뉴를 이용하여 update할 수 있다. Package update시에 아래와 같은 warning을 볼 수 있다.

Warning in install.packages(update[instlib == l, "Package"], l, repos = repos,  :
  'lib = "C:/Program Files/R/R-4.2.0/library"' is not writable

이는 해당 폴더가 MS-Windows 보안상 보통 사용자(user)는 쓸 수 없기 때문인데, 대신 현재 사용자의 개인 폴더인 C:/Users/Kyun-SeopBae/AppData/Local/R/win-library/4.2 에 설치 된다.

위의 ’Kyun-SeopBae’는 사용자 이름으로 컴퓨터마다 다를 수 있다.

이 경우 C:/Program Files/R/R-x.x.x/library 폴더에 있는 해당 package folder들은 삭제해도 된다.

1.2.4 Rconsole 파일 복사 편집

C:/Program Files/R/R-4.x.x/etc/ 폴더에서 Rconsole 파일을 ‘내 문서’ 폴더로 복사한 후에 다음과 같이 자신의 환경에 맞게 적절히 편집한다.

위의 폴더 이름은 자신이 설치한 R version에 따라 달라지니, 그에 맞추어 작업한다.

    rows = 50
    columns = 100

    pgrows = 50
    pgcolumns = 100

    xconsole = 0
    yconsole = 50

    MDIsize = 950*1000+0+0

이것을 잘 맞추어 놓으면 매번 R을 실행시킬 때마다 창 크기를 조정하는 수고로움을 덜 수 있다.

Rconsole 파일에서 폰트 종류와 크기도 지정해줄 수 있다.

위와 같은 ASCII 텍스트 파일을 편집하는 software을 일반적으로 (programmer’s) editor 라 부른다. Programmer’s editor들은 trailing white space 제거 기능, tab을 space로 바꾸는 기능, 대소문자 변환 기능 등 여러 편리한 기능들이 있다. 이러한 기능들 때문에 ASCII 텍스트 파일을 편집하기에 MS word, HWP 프로그램 보다 훨씬 편리하다. 저자는 김성동씨의 AcroEdit (주소: http://www.acrosoft.pe.kr/board/download)을 추천한다. AcroEdit의 utf encoding 기능, 세로 블록 선택 기능, 문법 강조(syntax highlighting) 기능과 매크로 실행 버튼 기능은 매우 유용하다. 유명한 editor로 추천할 만한 것은 Visual Studio Code (VS code)와 sublime text이다.

1.2.5 .Rprofile 파일 생성 편집

자신이 선호하는 editor로 다음과 같은 내용의 .Rprofile 파일을 ‘내 문서’ 폴더에 만든다.

local({
  r = getOption("repos")
  r["CRAN"] = "https://cloud.r-project.org"
  options(repos = r)
})

이것을 잘 해 놓으면, 매번 R package를 추가할 때마다 서버를 고르는 수고로움을 덜 수 있다.

1.2.6 Pandoc 설치

Pandoc 주소: https://pandoc.org

LaTeX 파일을 PDF 파일이나 MS-Word, HTML 파일등으로 변환하는데 필요하다.

1.2.7 KoPubWorld 폰트 설치

KoPubWorld Font 주소: https://www.kopus.org/biz-electronic-font2/

Font 설치 시에는 ’모든 사용자용’으로 설치한다.

Font를 뒤의 TeX보다 먼저 설치해야 TeX가 설치 될 때 이미 운영체제에 설치된 폰트를 검색하여 LaTeX에 등록한다. 만약 아래 TinyTex 설치 후에 폰트를 설치했다면 다음의 명령어를 command prompt(일명 도스창)에서 실행하여 update 할 수 있다.

updmap -sys

도스창에서 updmap 명령어가 실행되려면, updmap.exe 파일이 위치한 폴더가 PATH 환경변수에 포함되어 있어야 한다. Windows에서 환경변수 설정 방법을 모르면 인터넷에서 검색해 본다.

R에서 도스창으로 나가지 않고 다음의 명령어로 가능할 수도 있다.

system("updmap -sys")

1.2.8 TinyTeX 설치

R을 실행하고 다음을 R 명령창에 입력한다.

install.packages("rmarkdown", dependencies=TRUE)

Package rmarkdown 설치시 다음과 같은 경고 message가 나오는 경우가 있는데, 이는 최신의 Rtools가 설치되어 있지 않았기 때문일 수 있다.

Warning messages:
1: In install.packages("rmarkdown", dependencies = T) :
  installation of package ‘ps’ had non-zero exit status
2: In install.packages("rmarkdown", dependencies = T) :
  installation of package ‘processx’ had non-zero exit status
install.packages("tinytex")
require(tinytex)
install_tinytex()
tlmgr_install("pdfcrop") # This is optional

TeX component들(package 등) 간에 version이 안 맞아 오류가 나는 경우도 흔한데, 이 때는 uninstall_tinytex(force=T) 후에 install_tinytex() 부터 다시 실행한다.

1.2.9 Ghostscript 설치

Ghostscript for Windows (64 bit) AGPL Release를 http://ghostscript.com 에서 찾아서 설치한다. PDF 파일을 만드는데 필요하다.

1.2.10 환경변수 Path 점검

‘내 PC’ icon \(\rightarrow\) ‘고급 시스템 설정’ \(\rightarrow\) ‘고급’ tab \(\rightarrow\) ‘환경변수’ button \(\rightarrow\) ‘시스템 환경변수’의 ’PATH’ 환경변수를 편집하여, 앞에 설치한 R, rtools42, pandoc, ghostscript, TinyTex 등의 PATH가 제대로 포함되어 있는지 확인한다.

참고로 기본값은 다음과 유사하다.

C:\Program Files\R\R-4.2.1\bin
C:\rtools42\usr\bin
C:\Program Files\Pandoc\
C:\Program Files\gs\gs9.56.1\bin\
C:\Users\Kyun-SeopBae\AppData\Roaming\TinyTeX\bin\win32\

위의 ’Kyun-SeopBae’는 사용자 이름으로 컴퓨터마다 다를 수 있다.

1.2.11 Rmd 파일 compile

간단한 Rmd 파일을 만들어 html과 pdf로 compile 해본다.

예시 파일인 Template.Rmd을 http://r.acr.kr/Template.Rmd 에서 다운로드 받을 수 있다.

한글이 들어가는 경우 utf-8 형식으로 저장해야 한다.

1.2.11.1 Load rmarkdown

require(rmarkdown)

rmarkdown 내의 render함수를 실행하기 전에 rmarkdown package를 load해야 한다. library 함수로 load 할 수도 있다.

아래 명령어를 실행하기 전에 setwd() 함수로 working directory를 맞추어 준다.

1.2.11.2 HTML로 compile하는 R 명령어 예시

render("Template.Rmd")

1.2.11.3 PDF로 compile하는 R 명령어 예시

render("Template.Rmd",
       pdf_document(latex_engine='xelatex', number_sections=T, toc=T,
                 pandoc_args=c("--variable", "mainfont=KoPubWorldBatang Medium",
                               "--variable", "sansfont=KoPubWorldDotum Medium",
                               "--variable", "header-includes=\\usepackage{tcolorbox}",
                               "--variable", "header-includes=\\usepackage{geometry}",
                               "--variable", "linkcolor=cyan")))