1.4 RStudio

  • RStudio: R 통합 분석/개발 환경(integrated development environment, IDE)으로 현재 가장 대중적으로 사용되고 있는 R 사용 환경
  • 명령 곤솔 외 파일 편집, 데이터 객체, 명령 기록(.history), 그래프 등에 쉽게 접근 가능
  • RStudio 독자적인 개발 환경 제공: Rmarkdown, Rnotebook, Shiny Web Application 등 다양한 R 환경을 제공
  • 버전관리(git, subversion)를 통해 project 관리 가능
  • 무료 및 유료 소프트웨어 제공

1.4.1 RStudio 설치하기

  1. 웹 브라우저를 통해 https://rstudio.com 접속 후 상단 DOWNLOAD 링크 클릭

  1. Desktop 또는 Server 버전 중 택일

    • 서버용 설치를 위해서는 Server 클릭 \(\rightarrow\) 소규모 자료 분석용으로는 불필요
    • 여기서는 Desktop 버전 선택 후 다음 링크로 이동

  1. 운영체제에 맞는 Rstudio installer 다운로드(여기서는 Windows 버전 다운로드)

  1. RStudio installer 다운로드 시 파일이 저장된 폴더에서 보통 RStudio-xx.xx.xxx.exe 형식의 파일명 확인
    • 더블 클릭 후 실행
    • [다음>] 몇 번 클릭 후 설치 종료

  1. 바탕화면 혹은 시작 프로그램에 새로 설치된 RStudio 아이콘 클릭 후 아래와 같은 프로그램 창이 나타나면 설치 성공

1.4.2 RStudio IDE 화면 구성

RStudio는 아래 그림과 같이 4개 창으로 구성4

RStudio 화면구성: 우하단 그림은 http://r-statistics.co/Top50-Ggplot2-Visualizations-MasterList-R-Code.html 에서 발췌

Figure 1.4: RStudio 화면구성: 우하단 그림은 http://r-statistics.co/Top50-Ggplot2-Visualizations-MasterList-R-Code.html 에서 발췌

1. 콘솔(console)

  • R 명령어 실행공간(RGui, 정확하게는 R 설치 디렉토리에서 “~/R/R.x.x/bin/x64/Rterm.exe” 가 구동되고 있는 공간)
  • R script 또는 콘솔 창에서 작성한 명령어(프로그램) 실행 및 그 결과 출력
  • 경고, 에러/로그 등의 메세지 확인
RStudio 콘솔창에서 명령어 실행 후 출력결과 화면

Figure 1.5: RStudio 콘솔창에서 명령어 실행 후 출력결과 화면

2. 스크립트(script) (Figure 1.6)

  • R 명령어 입력 공간으로 일괄처리(batch processing) 가능
  • 새로운 스크립트 창 열기
    • 아래 그림과 같이 pull-down 메뉴 좌측 상단 아이콘 클릭 후 [R script] 선택
    • [File] \(\rightarrow\) [New File] \(\rightarrow\) [R Script] 선택
    • 단축 키: [Ctrl] + [Shift] + [N]
  • 일괄 명령어 처리를 위한 RStudio 제공 단축 키
    • [Ctrl] + [Enter]: 선택한 블럭 내 명령어 실행
    • [Alt] + [Enter]: 선택 없이 커서가 위치한 라인의 명령어 실행
  • R 스크립트 이외 R Markdown, R Notebook, Shiny web application 등 새 문서의 목적에 따라 다양한 종류의 소스 파일 생성 가능
  • 저장된 R 스크립트 파일은 파일명.R로 저장됨
  • 파일 실행 방법
    • 실행하고자 하는 파일을 읽은 후([File] \(\rightarrow\) [Open File] + 파일명 선택 또는 파일명.R 더블 클릭) 입력된 모든 라인을 선택한 뒤 [Ctrl] + [Enter]
    • 파일 읽은 후 [Ctrl] + [Shift] + [S] (현재 열려있는 *.R 파일에 대해) 또는 [Ctrl] + [Shift] + [Enter]
RStudio 스크립트 새로 열기

Figure 1.6: RStudio 스크립트 새로 열기


RStudio는 코딩 및 소스 작성의 효율성을 위해 여러 가지 단축 키를 제공하고 있음. 단축키는 아래 그림과 같이 pull down 메뉴 [Tools] 또는 [Help]에서 [Keyboard shortcut help] 또는 [Alt] + [Shift] + [K] 단축키를 통해 확인할 수 있음. 또는 Rstudio cheatsheet에서 단축키에 대한 정보를 제공하는데 pull down 메뉴 [Help] \(\rightarrow\) [Cheatsheets] \(\rightarrow\) [RStudio IDE Cheat Sheet]을 선택하면 각 아이콘 및 메뉴 기능에 대한 개괄적 설명 확인 가능함.

3. 환경/명령기록(Environment/History) (Figure 1.7)

  • Environment: 현재 R 작업환경에 저장되어 있는 객체의 특성 및 값 등을 요약 제시
    • 좌측 아래 화살표 버튼 클릭: 해당 객체의 상세 정보 확인
    • 우측 사각형 버튼 또는 객체(데이터셋명) 클릭: 객체가 데이터셋(데이터프레임)인 경우 스프레드 시트 형태로 데이터셋 확인
RStudio Environment 창 객체 상세 정보 및 스프레드 시트 출력 결과

Figure 1.7: RStudio Environment 창 객체 상세 정보 및 스프레드 시트 출력 결과

  • History: R 콘솔에서 실행된 명령어(스크립트)들의 이력 확인

4. File/Plots/Packages/Help/Viewer

  • File: Windows 파일 탐색기와 유사한 기능 제공
    • 파일 및 폴더 생성, 삭제/파일 및 폴더명 수정, 그리고 작업경로 설정

  • Plots: 생성한 그래프 출력
    • 작업 중 생성한 그래프 이력이 Plots 창에 저장: \(\leftarrow\) 이전, \(\rightarrow\) 최근
    • Zoom: 클릭 시 해당 그래프의 팝업창이 생성되고 팝업창의 크기 조정을 통해 그래프의 축소/확대 가능
    • Export: 선택한 그래프를 이미지 파일(.png, .jpeg, .pdf 등)로 저장할 수 있고, 클립보드로 복사 가능

  • Packages: 현재 컴퓨터에 설치된 R 패키지 목록 출력
    • 신규 설치 및 업데이트 가능

  • Help: help(topic) 입력 시 도움말 창이 출력되는 공간
help(lm)

1.4.3 RStudio 환경 설정

Pull-down 메뉴에서 [Tools] \(\rightarrow\) [Global Options...]를 선택

General: RStudio 운용 관련 전반적 설정 세팅

R General option 팝업 창

Figure 1.8: R General option 팝업 창

  • R version: 만약 컴퓨터에 두 개 이상 다른 R 버전이 설치되어 있는 경우 [Change] 클릭 후 설정 변경 가능
  • Default Working directory: 작업 디렉토리 지정([Browse] 클릭 후 임의 폴더 설정 가능)
  • Restore most recently opened project at startup: RStudio 실행 시 가장 최근에 작업한 프로젝트로 이동
  • Restore previously open source documents at startup: RStudio 실행 시 현재 프로젝트에서 가장 최근에 작업한 소스코드 문서를 함께 열어줌.
  • Restore .RData into workspace at startup: 작업 디렉토리에 존재하는 .RData 파일을 RStudio 실행 시 불러옴
  • Save workspace to .RData on exit: R workspace 자동 저장(.RData) 여부
  • Always save history (even when not saving .RData) : R 실행 명령 history 저장 여부(Always/Never/Ask)
  • Remove duplicate entries in history: history 저장 시 중복 명령 제거 여부

작업폴더(Working Directory)는 현재 R session에서 사용하는 기본 폴더로서 R 소스파일 및 데이터의 저장 및 로딩시 기본이 되는 폴더임.

  • 소스파일이나 데이터를 불러들일 때 작업 폴더에 있는 파일은 경로명을 지정하지 않고 파일명만 사용해도 됨
  • 작업폴더가 아닌 곳에 있는 파일을 불러들일 때는 경로명까지 써 주어야함.
  • R 데이터를 저장할때도 파일명만 쓰면 기본적으로 작업폴더에 저장되며, 다른 폴더에 저장하기 위해서는 경로명까지 써 주어야 함.

처음 컴퓨터에 RStudio를 설치하면 Working directory는 Windows 사용자 폴더(예: user)의 Document 폴더가 기본값으로 설정되어 있음. 기본 작업폴더를 변경하려면 Figure 1.8에서 설정 가능.

현재 R session의 작업 디렉토리 설정 방법

  • [Session] -> [Set Working Directoy] -> [Choose Directory]에서 설정

R 콘솔에서 다음과 같은 명령어로 작업폴더를 확인 및 변경 가능

getwd() # 작업폴더 확인 (현재 R 작업폴더)
[1] "/home/user/Projects/Lecture-note/cnu-r-programming-lecture-note"

# 참고: UNIX 환경에서 작성
# 상대경로
setwd("..") # 상위 폴더로 이동(getwd() 폴더 기준)
getwd()
[1] "/home/user/Projects/Lecture-note"
# 상대경로
setwd("../..") # 차상위 폴더로 이동(getwd() 폴더 기준)
getwd()
[1] "/home/user"
setwd("/home/user/R-project/Lecture-note/cnu-r-programming-lecture-note/") # 절대 폴더 명 입력
Error in setwd("/home/user/R-project/Lecture-note/cnu-r-programming-lecture-note/"): 작업디렉토리를 변경할 수 없습니다
getwd()
[1] "/home/user"
# 폴더 내 파일 명 출력
dir()
 [1] "Desktop"           "Documents"         "Downloads"        
 [4] "miniconda3"        "Music"             "nvidia-check.sh"  
 [7] "Pictures"          "Projects"          "Public"           
[10] "R"                 "snap"              "Templates"        
[13] "testdisk.log"      "thinclient_drives" "Videos"           
# 상대경로
dir("..") 
[1] "test" "user"
# 상대경로
setwd("../ust-medical-statistics//") # Lecture-note 하위폴더인 stat 으로 이동
Error in setwd("../ust-medical-statistics//"): 작업디렉토리를 변경할 수 없습니다
getwd(); dir()
[1] "/home/user"
 [1] "Desktop"           "Documents"         "Downloads"        
 [4] "miniconda3"        "Music"             "nvidia-check.sh"  
 [7] "Pictures"          "Projects"          "Public"           
[10] "R"                 "snap"              "Templates"        
[13] "testdisk.log"      "thinclient_drives" "Videos"           
# 절대경로
setwd("/home/user/R-project/Lecture-note/cnu-r-programming-lecture-note/")
Error in setwd("/home/user/R-project/Lecture-note/cnu-r-programming-lecture-note/"): 작업디렉토리를 변경할 수 없습니다
getwd(); dir()
[1] "/home/user"
 [1] "Desktop"           "Documents"         "Downloads"        
 [4] "miniconda3"        "Music"             "nvidia-check.sh"  
 [7] "Pictures"          "Projects"          "Public"           
[10] "R"                 "snap"              "Templates"        
[13] "testdisk.log"      "thinclient_drives" "Videos"           

R에서 디렉토리 또는 폴더 구분자는 / 임. Windows에서 사용하는 구분자는 \인데, R에서 \는 특수문자로 간주하기 때문에 Windows 의 폴더명을 그대로 사용 시 에러 메세지를 출력함. 이를 해결하기 위해 Windows 경로명을 그대로 복사한 경우 경로 구분자 \ 대신 \\로 변경

실습: R 에서 폴더 경로 자유롭게 이동해 보기


Code: Editing: 들여쓰기, 자동 줄바꿈 등 코드 편집에 대한 전반적 설정

  • Insert spaces for tab: [Tab] 키를 눌렀을 때 공백(space) 개수 결정(본 강의노트: Tab width = 4)
  • Auto-detect code indentation: 코드 들여쓰기 자동 감지
  • Insert matching parens/quotes: 따옴표, 괄호 입력 시 커서를 따옴표/괄호 사이로 자동 이동
  • Auto-indent code after paste: 코드 복사 시 들여쓰기 일괄 적용
  • Vertically align arguments in auto-indent: 함수 작성 시 들여쓰기 레벨 유지 여부
  • Soft-wrap R source file: 스크립트 편집기 너비를 초과하는 경우 R 코드 행을 자동 줄바꿈
  • Continue comment when inserting new line: 주석 표시를 다음 행에도 자동 적용 여부
  • Surround selection on text insertino: 스크립트 상 text 선택 후 자동 따옴표 및 괄호 적용 여부
  • Focus console after executing from source: 스크립트 실행 후 커서 위치를 콘솔로 이동 여부

Code: Display: 스크립트(소스) 에디터 표시 화면 설정

  • Highlight selected word: 스크립트 내 text 선택 시 동일한 text에 대해 배경강조 효과 여부
  • Highlight selected line: 선택된 행에 대해 배경 강조효과 여부
  • Show line numbers: 행 번호 보여주기 여부
  • Show margin: 소스 에디터 오른 쪽에 지정한 margin column 보여주기 여부
  • Show whitespace characters: 에디터에 공백 표시 여부
  • Show indent guides: 현재 들여쓰기 열 표시 여부
  • Blinking cursor: 커서 깜박임 여부
  • Show syntax highlighting in console output: 콘솔 입력 라인에 R 구문 강조 표시 적용 여부
  • Allow scroll past end of document: 문서 마지막 행 이후 스크롤 허용 여부
  • Allow drag and drop of text: 선택한 복수의 행으로 구성된 text에 대해 마우스 drag 허용
  • Highlight R function calls: R 내장 및 패키지 제공함수에 대해 강조 여부

Code: Saving: 스크립트(소스) 에디터 저장 설정

  • Ensure that source file end with newline
  • String trailing horizontal whitespace when saving
  • Restore last cursor position when opening file
  • Default text encoding: 소스 에디터의 기본 설정 인코딩 설정 변경
    • RStudio의 Windows 버전 기본 text encoding은 CP949
    • Linux나 Mac OS의 경우 한글은 UTF-8로 인코딩이 설정되어 있음.
    • R 언어는 Linux 환경에서 개발되었기 때문에 UTF-8 인코딩과 호환성이 더 좋음
    • 스크립트 파일의 한글이 깨질 때는 [File] -> [Reopen with Encoding...]에서 encoding 방식 변경

Appearance: RStudio 전체 폰트, 폰트 크기, theme 설정

  • 본인의 취향에 맞게 폰트 및 테마(theme) 설정
  • 취향 \(\rightarrow\) 가독성이 제일 좋고 편안한 theme

Pane Layout: RStudio 구성 패널들의 위치 및 항목 등을 수정/추가/삭제(4개 페널은 항시 유지)

실습: 개인 취향에 맞게 RStudio 에디터 및 theme을 변경해 보자!!

1.4.4 RStudio 프로젝트

  1. 프로젝트
    • 물리적 측면: 최종 산출물(문서)를 생성하기 위한 데이터, 사진, 그림 등을 모아 놓은 폴더
    • 논리적 측면: R session 및 작업의 버전 관리
  2. 프로젝트의 필요성
    • 자료의 정합성 보장
    • 다양한 확장자를 갖는 파일들이 한 폴더 내에 뒤섞일 때 곤란해 질 수 있음
    • 실제 분석 및 그래프 생성에 사용한 정확한 프로그램 또는 코드 연결이 어려움
  3. 좋은 프로젝트 구성을 위한 방법
    • 원자료(raw data)의 보호: 가급적 자료를 읽기 전용(read only) 형태로 다루기
    • 데이터 정제(data wrangling 또는 data munging)를 위한 스크립트와 정제 자료를 보관하는 읽기 전용 데이터 디렉토리 생성
    • 작성한 스크립트로 생성한 모든 산출물(테이블, 그래프 등)을 “일회용품”처럼 처리 \(\rightarrow\) 스크립트로 재현 가능
    • 한 프로젝트 내 각기 다른 분석마다 다른 하위 디렉토리에 출력결과 저장하는 것이 유용
  4. RStudio 새로운 프로젝트 생성
    • RStudio의 강력하고 유용한 기능
    • 새로운 프로젝트 생성: RStudio 메뉴에서 [File] \(\rightarrow\) [New Project] 선택하면 아래와 같은 팝업 메뉴 생성

  1. 위 그림에서 New Directory를 선택하면 아래와 같은 팝업 창이 나타나면 아래와 같은 프로젝트 유형이 나타남. 여기서는 New Project 선택

  1. 다음 팝업창에서 새로운 프로젝트의 폴더명을 지정 후 Create Project 클릭
    • 아래 [Create projects as subdirectories of]에서 생성하고자 하는 프로젝트의 상위 디렉토리 설정 \(\rightarrow\) 보통 RStudio의 기본 작업폴더로 설정

  1. 현재 R session 종료 후 새로운 프로젝트로 session 화면이 열리면 프로젝트 생성 완료

실습: 프로젝트 생성

  • 위에서 설정한 작업폴더 내에 학번-r-programming 프로젝트 생성
  • 생성한 프로젝트 폴더 내에 docs, figures, script 폴더 생성

RStudio Cloud 사용

  • R의 구동 환경은 Windows 보다는 Linux 운영 환경에 최적화됨
  • 온라인에서 리눅스 환경의 R Studio 사용 가능


  1. 각 창의 위치는 세팅 구성에 따라 달라질 수 있음. 창 구성 방법은 RStudio 환경 옵션 설정에서 설명함.↩︎