4장 워크플로: 스크립트

복잡한 ggplot2 그래프나 dplyr 파이프를 생성하면 콘솔 창이 부족해진다.

따라서 더 많은 작업 공간을 확보하기 위해 스크립트 편집기를 사용하는 것이 좋다.

파일 메뉴를 클릭하고 새 파일에서 R 스크립트를 선택하거나 키보드 단축키 Cmd/Ctrl + Shift + N을 사용하여 스크립트 파일을 열 수 있다.

4.1 코드 실행하기

  • 스크립트 편집기는 복잡한 ggplot2 플롯이나 dplyr 작업의 긴 시퀀스를 생성하기에 좋다.

  • 단축기 Cmd/Ctrl + Enter 는 콘솔에서 커서가 위치한 줄의 R코드를 실행한다.

  • Cmd/Ctrl + Enter 를 반복적으로 입력하면 전체 스크립트를 쉽게 실행할 수 있다.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(nycflights13)

not_cancelled <- flights %>%
  filter(!is.na(dep_delay), !is.na(arr_delay))

not_cancelled %>%
  group_by(year, month, day) %>%
  summarize(mean = mean(dep_delay))
## `summarise()` regrouping output by 'year', 'month' (override with `.groups` argument)
## # A tibble: 365 x 4
## # Groups:   year, month [12]
##     year month   day  mean
##    <int> <int> <int> <dbl>
##  1  2013     1     1 11.4 
##  2  2013     1     2 13.7 
##  3  2013     1     3 10.9 
##  4  2013     1     4  8.97
##  5  2013     1     5  5.73
##  6  2013     1     6  7.15
##  7  2013     1     7  5.42
##  8  2013     1     8  2.56
##  9  2013     1     9  2.30
## 10  2013     1    10  2.84
## # ... with 355 more rows
  • nycflights13 패키지를 설치해야만 데이터를 불러올 수 있다.
install.packages(nycflights13)
  • Cmd/Ctrl + Shift + S를 사용하여 전체 스크립트를 한 번에 실행할 수 있다.

  • 스크립트에는 항상 필요한 패키지들을 먼저 설치하도록 하자.

  • 공유하려는 스크립트에 install.packages() 또는 setwd() 를 절대 포함해서는 안 된다.(다른 사람의 컴퓨터 설정을 변경하지 말 것)

4.2 Rstudio 진단

스크립트 편집기에서 빨간색 선과 사이드바의 X자 표시로 구문 오류를 강조 표시한다.

x y <- 10

에러: 예상하지 못한 기호(symbol)입니다. in "x y"

X자 위로 마우스를 가져가면 문제가 무엇인지 알 수 있다.

또한, RStudio는 잠재적인 문제에 대해서도 알려준다.

4.2.1 연습문제