6장 워크플로: 프로젝트

  • R을 중지하고 다른 작업을 한 뒤 분석 작업으로 돌아가야 하는 경우

  • R을 활용한 여러 분석 작업을 동시에 진행하며 각 작업을 분리해야하는 경우

  • 외부 데이터를 R로 불러오고 R의 수치적인 결과와 그림을 외부로 내보내야 하는 경우

  1. 분석한 내용의 실체는 무엇인가(저장해야할 내용이 무엇인가)

  2. 분석 결과가 어디에 남겨졌는가(저장된 위치)

6.1 무엇이 진짜인가?

  • R 스크립트를 분석한 내용의 ’실체’로 생각하자
    • R스크립트로 분석 환경을 다시 만들 수 있다.
    • 분석 환경에서 R 스크립트를 다시 만드려면 기억을 되살려 많은 양의 코드를 다시 입력하거나 R 이력에서 불러와야 한다.
  • 이를 위해 세션 간에 작업공간을 공유하지 않도록 RStudio를 설정하는 것이 좋다.

Tools -> Global Options -> General 에서 설정가능

이렇게 하면 RStudio를 다시 시작할 때, 마지막으로 실해한 코드의 결과가 남아 있지 않기 때문에 귀찮을 수 있지만,
코드의 관계를 파악할 수 있고, 중요한 작업의 코드 자체를 저장하지 않고 작업공간에만 방치하는 심각한 사태를 방지할 수 있다. (Enviroment 창이 Reset된다)

  • Cmd/Ctrl + Shift + F10 : RStudio 다시 시작
  • Cmd/Ctrl + Shift + S : 지금의 스크립트 다시 시작

6.2 분석 작업이 어디에 남아있는가?

R에서 파일을 불러오고자 할 때 작업 디렉터리에서 찾으며, 파일을 저장할 때에도 작업 디렉터리에 저장한다.

RStudio에서는 현재 작업 디렉터리를 콘솔 상단에 표시한다.

또한, getwd()를 실행하면 R코드로 작업 디렉터리를 출력할 수 있다.

getwd()
## [1] "C:/Users/emrwn/Desktop/R_Education_Data/Review_R_edu/R_NCS_2020/Markdown"

구성한 분석 프로젝트를 디렉터리로 설정하고, 프로젝트 작업 시 세팅한 R 작업 디레터리를 관련된 디렉터리로 설정하자.

setwd("/path/to/my/CoolProject")

위의 방법으로 R 내에서 작업 디렉터리를 설정할 수 있지만, 권장하지는 않는다.

6.3 경로와 디렉터리

Mac/Linux 와 Windows의 차이

  1. 경로의 구성요소 분리 방법
  • Mac/Linux는 슬래시“/” (e.g. plots/diamonds.pdf)를 사용

  • Windows는 역슬래시“\” (e.g. plots\diamonds.pdf)를 사용

  • R에서는 모두 사용가능하나 역슬래시의 경우 특별한 의미를 가지고 있어 경로에 1개의 역슬래시를 사용하기 위해서는 2개의 역슬래시를 입력해야 하므로 슬래시를 사용하는 것을 권장한다.

  1. 절대 경로(작업 디렉터리와 관계없이 같은 위치를 가리키는 경로)
  • Window에서는 드라이브 문자(e.g. C:) 또는 2개의 역슬래시(e.g. \\servername)로 시작

  • Mac/Linux에서는 슬래시 “/” (e.g. /users/hadley)로 시작

  • 절대 경로는 공유가 불가하므로 절대로 스크립트에서 사용해서는 안된다.

  1. ~(물결표)가 가리키는 위치
  • ~는 홈디렉터리로 가는 편리한 방법

  • Windows는 홈 디렉터리 개념을 가지고 있지 않으므로 Windows에서는 홈디렉터 대신 문서 디렉터리를 가리킨다.

6.4 Rstudio 프로젝트

R 전문가는 프로젝트와 관련된 모든 파일(입력 데이터, R 스크립트, 분석 결과, 그림)을 함께 남겨둔다. 이것은 RStudio가 프로젝트를 통해 기본으로 제공하는 일반적인 방법이다.

File > New Project를 클릭한 후 다음의 작업을 수행해보자.

프로젝트 이름을 r4ds라고 짓고, 어떤 하위 디렉터리에 프로젝트를 넣을지 신중히 결정하자.

이 과정이 완료되면 새로운 RStudio 프로젝트를 얻을 수 있다.

프로젝트의 홈 디렉터리가 현재 작업 증인 디렉터리인지 확인해보자.

> getwd()
[1] "C:/Users/usename/Desktop/r4ds"

스크립트 편집기에서 다음 명령어를 입력하고 “diamonds.R” 이름으로 파일을 저장해보자.

그런 다음 완전한 스크립트를 실행하면 프로젝트 디렉터리에 PDF 및 CSV 파일로 저장될 것이다.

library(tidyverse)

ggplot(diamonds, aes(carat, price)) + 
  geom_hex()
ggsave("diamonds.pdf")

write_csv(diamonds, "diamonds.csv")

Rstudio를 종료하고 r4ds.Rproj 파일을 실행시켜 프로젝트를 다시 열었을 때, 동일한 디렉터리와 명령어 이력 그리고 작업중이었던 모든 파일이 여전히 열려있는지 확인해보자.

백지상태의 설정을 했을 경우 Environment는 새로운 환경일 것이다.

OS 방식으로 diamonds.pdf를 검색하면 PDF 파일과 함께 작성한 스크립트(diamonds.R)도 찾을 수 있다.

6.5 요약

  • 각 데이터 분석 프로젝트에 대해 Rstudio를 만든다.
  • 데이터를 불러오려는 위치에 데이터 파일을 보관한다.
  • 스크립트도 같은 곳에 보관한다,
  • 결과값도 같은 곳에 저장한다.
  • 상대 경로만 사용하고 절대 경로는 사용하지 않는다.