library(ggplot2)
mpg <- as.data.frame(ggplot2::mpg)
library(dplyr)
exam <- read.csv("./data_files/csv_exam.csv")
# 데이터프레임 : 데이터 합하기
# 가로 : 변수 추가 형태
# 세로 : 데이터 추가 형태
# 샘플 데이터
# 중간고사 데이터 생성
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)
)
### 가로 : 변수 추가 형태 => dplyr 패키지 left_join(데이터프레임, 데이터프레임, by = "기준 변수")
# by = "기준 변수" 는 두 가지 데이터프레임의 공통 변수를 사용
total <- left_join(test1, test2, by="id")
# 다른 데이터를 활용하여 변수 추가 : left_join() 로 가능.
# 즉, 특정 변수의 값을 기준으로 다른 데이터의 값을 추가 가능.
# 반별 담임 선생님 명단 데이터 생성
name <- data.frame(class = c(1,2,3,4,5),
teacher = c("kim", "lee", "park", "choi", "jung")
)
exam_name <- left_join(exam, name, by="class")
# left_join() : 기준 변수는 두개의 데이터프레임에 동일하게 존재하는 변수를 지정.
# : 기준 변수의 데이터 갯수가 동일..
### 세로 : 데이터 추가 형태 => dplyr 패키지 bind_rows(데이터프레임, 데이터프레임)
# 시험기간 : 응시 / 미응시 (추가 시험) 또는 입시(입사)관리 추가 합격자 데이터 추가 시에도 사용
# 학생 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(670,83,65,95,80)
)
group_all <- bind_rows(group_a, group_b)
# 만약 두 개의 데이터프레임 내의 변수명이 다를 경우
group_c <- data.frame(id=c(6,7,8,9,10),
test1=c(670,83,65,95,80)
)
group_d <- data.frame(id=c(6,7,8,9,10),
test2=c(670,83,65,95,80)
)
group_all2 <- bind_rows(group_c, group_d)
# left_join() 처럼 합쳐진다..
# 단, 해당 값이 없는 변수에는 NA 갓이 자동 설정되어 추후 연산 시 오루를 발생하게 된다.
# 따라서 변수명일 다를 경우에는 rename()를 이용하여 먼저 변수명을 통일한 후, 합쳐야 한다!!!!
group_c <- rename(group_c, test = test1)
group_d <- rename(group_d, test = test2)
group_all2 <- bind_rows(group_c, group_d)
'경기도 인공지능 개발 과정 > R' 카테고리의 다른 글
R ggplot2 (0) | 2022.04.17 |
---|---|
R 이상치 (0) | 2022.04.17 |
R 결측치 (0) | 2022.04.17 |
R 기본문법(summary, dplyr 패키지, ifelse, table, hist) (0) | 2022.04.17 |
R 기본문법 ( 변수, 연산, plot그리기, 데이터프레임생성) (0) | 2022.04.17 |