📊 R 데이터 분석

데이터 분석을 위한 R수업 <4차시 ②: 데이터 합치기>

해랑(Sea-wave) 2024. 10. 19.
반응형

데이터 분석을 위한 R수업 <4차시 ②: dplyr 활용>

 

06-1 데이터 전처리 - 원하는 형태로 데이터 가공하기

06-2 조건에 맞는 데이터만 추출하기

06-3 필요한 변수만 추출하기

06-4 순서대로 정렬하기

06-5 파생변수 추가하기

06-6 집단별로 요약하기

06-7 데이터 합치기

 

06-1 데이터 전처리 - 원하는 형태로 데이터 가공하기

dplyr은 데이터 전처리에 가장 많이 사용되는 패키지 입니다.

 

dplyr 함수

filter() 행 추출

select() 열(변수) 추출

arrange() 정렬

mutate() 변수추가

summarise() 통계치 산출

group_by() 집단별로 나누기

left_join() 데이터 합치기(열)

bind_rows() 데이터 합치기(행)

 

06-7 데이터 합치기

 

가로로 합치기 left_join()

 

#중간고사 데이터 생성
test1 <- data.frame(id = c(1, 2, 3, 4, 5),
                   midterm = c(60, 80, 70, 90, 85))

#기말고사 데이터 생성
test2 <- data.frame(id = c(1, 2, 3, 4, 5),
                    final = c(70, 83, 65, 95, 80))

test1
test2

 

total <- left_join(test1, test2, by = "id") # id를 기준으로 합쳐 total에 할당
total

 

left_join(test1, test2, by = "id") # id를 기준으로 합쳐 total에 할당

left_join

left_join()을 이용하면 특정 변수의 값을 기준으로 다른 데이터의 값을 추가할 수 있다.

 

name <- data.frame(class = c(1, 2, 3, 4, 5),
                   teacher = c("kim", "lee", "park", "choi", "jung"))
name

 

앞에있던 exam 변수와 함께 class를 기준으로 합쳐보겠다.

exam_new <- left_join(exam, name, by = "class")
exam_new

 

left_join

 

세로로 합치기 bind_row()

 

# 학생 1-5번 시험 데이터 생성
group_a <- data.frame(id = c(1, 2, 3, 4, 5),
                      test = c(60, 80, 70, 90, 85))

# 학생 6-10번 시험 데이터 생성
group_b <- data.frame(id = c(6, 7, 8, 9, 10),
                      test = c(70, 83, 65, 95, 80))

group_a
group_b

 

group_a와 group_b

 

bind_row()을 이용하기

 

group_all <- bind_rows(group_a, group_b)
group_all

 

group_all

반응형

댓글