데이터 가공
filter() 행 추출
select() 열(변수) 추출
arrange() 정렬
mutate() 변수 추가
bind_rows() 데이터 합치기 (행)
left_join() 데이터 합치기 (열)
group_by() 집단별로 나누기
summarise() 통계치 산출
dplyr 은 데이터 전처리에 가장 많이 사용되는 패키지이다.
install.packages("dplyr")
library(dplyr)
작업 디렉토리를 r1 으로 설정
r에서 파일을 읽거나 쓸 때 기본적으로 사용되는 폴더
setwd("c://r1")
"csv_exam.csv" 라는 파일을 읽어와 exam 이라는 변수에 저장하라는 명령
"csv_exam.csv" 파일은 쉼표로 구분된 데이터가 포함된 csv 파일
exam <- read.csv("csv_exam.cxv")
exam
exam 데이터에서 class 가 1인 행들을 추출하여 출력
exam %>% filter(class == 1)
exam 데이터에서 class 가 1이 아닌 행들을 추출하여 출력
exam %>% filter(class != 1)
여러 조건을 충족하는 행 추출하기
1반이면서 수학 점수가 50점인 이상인 경우
exam %>% filter(class == 1 & math >= 50)
1,3,5 반에 해당하면 추출
exam %>% filter(class == 1 | class == 3 |class == 5)
exam %>% filter(class %in% c(1,3,5))
추출한 행으로 데이터 만들기
1반의 데이터 추출하여 class1 변수 생성
class1 <- exam %>% filter(class == 1)
1반이 수학 점수 평균값
mean(class1$math)
변수 추출하기
exam %>% select(math)
여러 변수 추출하기
exam %>% select(english,math,class)
변수 제외하기
exam %>% select(-math)
filter() 와 select() 조합하기
class 가 1인 행만 추출한 다음 english 추출
exam %>% filter(class == 1) %>% select(english)
id, math 값 데이터 앞부분만 추출
exam %>% select(id, math) %>% head
exam %>% select(id, math) %>% head(10)
오름차순 정렬
exam %>% arrange(math)
exam %>% arrange(class,math)
내림차순 정렬
exam %>% arrange(desc(math))
exam %>% arrange(desc(math)) %>% head)
파생 변수 추가하기
mutate 함수는 데이터에 열을 추가할 때 사용한다.
mutate(추가할 열 이름 = 조건1, ...)
총합 변수 추가 후 일부분 추출 (실제로 할당)
exam <- exam %>% mutate(total = math + english + science) %>% head
여러 파생 변수 한번에 추가하기
총 평균 변수 추가
exam <- exam %>% mutate(total = math + english + science, mean = (math + english + science)/3 %>% head
mutate()에 ifelse 적용하기
exam %>% mutate(test = ifelse(science >= 60, "pass", "fail")) %>% head
총합 변수 추가 후 총합 변수 기준 정렬
exam %>% mutate(total = (math + english + science) %>% arrange(desc(total)) %>% head
대표적인 통계 함수
mean() 평균
median() 중앙값
min() 최소값
max() 최대값
sum() 합계
n() 개수
summarise 함수로 데이터 요약
summarise 함수는 통계 함수와 함께 사용하며 데이터를 요약할 때 사용한다.
summarise(요약 결과 저장 열 = 통계 함수)
exam %>% summarise(mean(math))
group_by 함수로 그룹별 요약
단독으로 쓰이기보다는 다른 함수와 연계해서 사용된다 (summarise 와 한 쌍)
집단별로 요약하기
class 별로 분리 후 math 평균 산출
exam %>% group_by(class) %>% summarise(mean_math = mean(math))
여러 요약 통계량 한번에 산출하기
exam %>%
class 별로 분리
group_by(class) %>%
math 평균, 합계, 중앙값, 학생 수, 빈도
summarise(mean_math = mean(math), sum_math = sum(math), median_math = median(math), n = n())
mpg 데이터 복습
여러 요약 통계량 한번에 산출하기
mpg %>%
회사별, 구동 방식별로 분리
group_by(manufacture,drv) %>%
city 평균 산출
summarise(mean_cty = mean(cty)) %>% head(10)
'데이터 분석' 카테고리의 다른 글
R 데이터 분석 - 데이터 시각화 (2) (0) | 2023.06.09 |
---|---|
R 데이터 분석 - 데이터 시각화 (0) | 2023.06.08 |
R 데이터 분석 실습 - mtcars 데이터, mpg 데이터, ggplot2 패키지 (0) | 2023.05.29 |
R 데이터 분석 - 데이터 가공 (2) (0) | 2023.05.28 |
R 데이터 분석 - 데이터 가공 (feat. mpg 데이터) (0) | 2023.05.27 |