RLab02
# arrange() 함수 : 행 정렬하기
# salse 값을 오름차순으로 정렬
order_info_r %>% arrange(sales)
# 내림차순으로 정렬 : desc옵션추가함.
order_info_r %>% arrange(desc(sales))
# reserv_no순서대로 오름차순 정렬후 다시
# item_id로 오름차순 정렬.
order_info_r %>% arrange(reserv_no, item_id)
# 오름차순으로 정렬하기
exam <- read.csv("csv_exam.csv")
exam %>%arrange(math)
# 내림차순으로 정렬하기
exam %>%arrange(desc(math))
# 정렬 기준 변수 여러개 지정
# class및 math 오름차순 정렬하기
exam %>% arrange(class,math)
# 혼자서 해보기 141p
library(ggplot2)
mpg %>% filter(manufacturer == 'audi') %>%
arrange(desc(hwy)) %>%
head(5)
RLab03
# mutate() 함수 : 열 조작해서 새로운 열 생성하기
# 총합 변수 추가
exam
exam %>%
mutate(total = math + english + science) %>%
head
# 총합변수, 총평균 변수 추가
exam %>%
mutate(total = math + english + science, mean = (math + english + science)/3 ) %>%
head
# mutate()에 ifelse()적용하기
exam %>%
mutate(test = ifelse(science >= 60,"PASS","FAIL")) %>%
head
# mutate()함수를 사용하여 예약번호(reserv_no)별로 평균 매출을 확인하기
order_info_r %>%
group_by(reserv_no) %>%
mutate(avg = mean(sales))
# transmute() 함수 : 원래 열 뺴고 새로운 열 생성하기
# 기능은 mutate()함수와 동일. 기존테이블의 열을 반환하지 않음
order_info_r %>%
group_by(reserv_no) %>%
transmute(avg = mean(sales))
# mutate_all() 함수 : 모든 열 조작해서 새로운 열 생성
# funs() : 사용할 함수를 지정
# 각열의 최대값을 찾아 출력
order_info_r %>%
mutate_all(funs(max))
# mutate_if()함수 : 특정 조건 열만 조작해서 새로운 열 생성하기
order_info_r
# 열이 숫자형일 경우 로그(log)로 바꾸어라.
order_info_r %>%
mutate_if(is.numeric, funs(log(.)))
# mutate_at() 함수 : 특정 열만 조작해서 새로운 열 생성하기
# mutate_all() 함수는 모든 열에 대해 조작하는 함수.
# mutate_at() 함수는 지정한 열만 조작함.
# vars() : select()와 유사한 함수.
# 지정할 열에 대해 최대값을 구하는 max함수 적용하기
order_info_r %>%
mutate_at(vars(sales), funs(max))
# 혼자서 해보기 144p
library(ggplot2)
# Q1
mpg <- as.data.frame(ggplot2::mpg)
mpg_new <- mpg
mpg_new <- mpg_new %>%
mutate(total = hwy + cty) %>%
head
mpg_new
# Q2
mpg_new <- mpg_new %>%
mutate(total = hwy + cty, mean = (hwy + cty)/2) %>%
head
mpg_new
# Q3
mpg_new %>%
arrange(desc(mean)) %>%
head(3)
# Q4
mpg %>%
mutate(total = cty + hwy, mean = total/2) %>%
arrange(desc(mean)) %>%
head(3)