dplyr 패키지의 mutate() 함수는 데이터 프레임 자료형에 새로운 파생 column을 만드는 함수이다. %>% (체인 연산자) 기호와 함께 데이터 전처리에서 많이 사용되는 함수이다.
위의 데이터 프레임(exam)은 학생들의 수학, 영어, 과학 성적을 담은 데이터프레임이다.
만약 추가로 총점, 평균을 구하고 과학 점수가 60 미만인 학생은 불합격을 주고 싶다면 mutate() 함수를 사용하면 편리하다.
library(dplyr) # dplyr 패키지 불러오기
exam <- read.csv("csv_exam.csv") # exam 데이터 프레임 읽어오기
new_exam <- exam %>% mutate(
total = math+english+science, # 총점
mean = total / 3, # 평균
pass = ifelse(science >= 60, TRUE, FALSE) # 합격 여부
)
View(new_exam) # 표로 출력
세 항목이 추가된 것을 확인할 수 있다.
만약 위의 데이터 프레임에서 1, 2, 3 각반의 과학 성적에 대한 평균을 내고 싶다면 먼저 group_by() 함수로 반을 나누고 summarise() 로 요약해주면 된다.
science_mean <- exam %>% group_by(class) %>% # class를 기준으로 나누고
summarise(mead = mean(science)) # 각 반의 평균을 구한다
View(science_mean) # 표로 출력
결과 화면이다.