실습과제 3

실라버스에서 안내된 바와 같이 R, (Windows 사용자의 경우) Rtools, Rstudio, Quarto 및 필수 패키지들을 R에서 설치한 이후 다음의 내용들에 답하시오. 제출은 RMarkdown (.Rmd) 혹은 Quarto (.qmd) 확장자를 사용하되, html, pdf, docx 중 제한은 없다. 오늘의 과제를 위해서는 다음의 웹사이트를 일독할 것: {tidyverse}를 활용한 데이터 전처리

{tidyverse} 패키지를 설치하세요. install.packages("tidyverse")

Exercise 1: {tidyverse} 패키지의 파이프 써보기

다음의 코드를 파이프(%>% 또는 |>)를 활용하여 다시 작성하라:

x <- 30
round(exp(log(x)), 1)

Exercise 2: 데이터 프레임

A. RStudio에서 {nycflights13} 패키지를 설치하고 불러오시오.

B. RStudio 콘솔 혹은 스크립트 창에서 flights라고 입력하여 비행 관련 데이터프레임의 내용들을 확인하시오. 그리고 그 내용을 data라는 객체에 저장하시오.

C. $ 연산자와 unique() 함수를 사용하여 데이터셋 내에서 carriers의 이름이 총 몇 개인지 확인하시오.

Exercise 3: 새로운 변수 만들기

A. 월/일/연도(e.g., 1/1/2013)의 형식으로 날짜에 대한 정보를 갖는 date라는 이름의 열을 만드시오. HINT dplyr::mutate() 사용

B. 8/15/2013에는 얼마나 많은 항공편이 있었는가? HINT dplyr::filter() 사용

C. 8/15/2013에 LGA에서 출발한 항공편은 몇 편이었는가? HINT dplyr::filter() 사용

D 8/15/2013에 LGA에서 출발한 모든 항공편의 평균 출발 지연 시간(average number of hours of delay in departure)을 계산하라.

Exercise 4: 결측치 관리와 데이터 변환

A. dep_delay 열에 결측값은 몇 개인가?

B. dep_delay 열의 결측값을 갖는 행을 모두 삭제한 새로운 데이터프레임을 newdata라는 개체로 새로 저장하라.

C. delay_category라는 이름의 새로운 열을 만들고, dep_delay 열의 값을 기준으로 지연 유형을 “지연 없음”(0), “단기 지연” (1-60분), “장기 지연”(60분 이상)으로 구분하라. HINT ifelse() 또는 case_when() 사용

D “장기 지연”으로 분류된 항공편의 평균 출발 지연 시간을 계산하라.

Exercise 5: 외부 데이터를 불러오기

이루리의 예제 데이터 폴더에서 vdem 데이터를 다운받아 read_csv() 함수를 이용해 R로 불러와 vdem 이라는 객체로 저장하라.

Exercise 6: 데이터 전처리

A. filter() 함수를 이용해 vdem 데이터에서 2000년부터 2010년 사이의 데이터만을 vdem1 이라는 객체에 저장하라.

B. select() 함수에서 - 부호를 사용하여 vdem1 데이터로부터 v2elmulpar 열을 제외한 나머지 열들을 vdem2 라는 객체에 저장하라.

C. vdem1 객체에서 rename() 함수를 사용하여 v2x_polyarchye_gdppc 라는 두 열의 이름을 democracyGDP_Per_Capita 로 바꾸어라.

D. drop_na() 함수를 이용하여 vdem1 데이터에서 결측치를 모두 제거하여 vdem1_nona 라는 이름으로 저장하라.

E. vdem1 데이터에서 e_regionpol_6C 라는 변수는 해당 국가가 어느 ‘지정학적’ 지역에 위치하고 있는지를 나타내는 요인형(factor) 변인이다. 이때, 이 요인의 수준(levels)를 다음과 같이 변경하라.

  • 1: 동유럽과 중앙아시아

  • 2: 남미와 카리브

  • 3: 중동과 북아프리카

  • 4: 사하라 이남 아프리카

  • 5: 서유럽과 북미

  • 6: 아시아와 태평양