5 min to read
R-Studio reshape2를 이용한 전처리 Part.3
R-Studio의 여러 함수들을 이용한 전처리
파일 소스
우클릭 -> 다른이름으로 링크저장 이용해 주세요
dataset.csv
사용 예시 소스코드
# 가독성을 위한 코딩 변경
# 실습을 위해 데이터 다시 불러옴
dataSet <- read.csv("dataset.csv", header = T)
dataSet
# 앞에서 6개의 튜플 출력
head(dataSet)
# resident gender job age position price survey
# 1 1 1 1 26 2 5.1 1
# 2 2 1 2 54 5 4.2 2
# 3 NA 1 2 41 4 4.7 4
# 4 4 2 NA 45 4 3.5 2
# 5 5 1 3 62 5 5.0 1
# 6 3 1 2 57 NA 5.4 2
# 데이터가 너무 방대해 거를꺼 걸러서 작게 하기위해 함.
dataSet <- subset(dataSet, dataSet$price >= 2 & dataSet$price <= 8)
nrow(dataSet)
# [1] 251
# 속성 원자값 들의 도메인 값 출력
unique(dataSet$resident)
# dataSet$새컬럼[조건식] <- "값"
# resident의 원자값이 1이면 서울시
# 가독성을 위해 코딩 변경(분류 해줌) 함.
dataSet$resident2[dataSet$resident == 1] <- "서울시"
dataSet$resident2[dataSet$resident == 2] <- "인천시"
dataSet$resident2[dataSet$resident == 3] <- "대전시"
dataSet$resident2[dataSet$resident == 4] <- "대구시"
dataSet$resident2[dataSet$resident == 5] <- "부산시"
# 가독성을 위해 코딩변경 되었음.
head(dataSet[c("resident", "resident2")], 10)
# resident resident2
# 1 1 서울시
# 2 2 인천시
# 3 NA <NA>
# 4 4 대구시
# 5 5 부산시
# 6 3 대전시
# 7 2 인천시
# 9 NA <NA>
# 10 2 인천시
# 11 5 부산시
# job 공무원, 회사원, 개인사업
# 분석전 수치를 확인한다.
unique(dataSet$job)
# [1] 1 2 NA 3
# 조건을 작성한다.
dataSet$job2[dataSet$job == 1] <- "공무원"
dataSet$job2[dataSet$job == 2] <- "회사원"
dataSet$job2[dataSet$job == 3] <- "개인사업"
# job, job2 컬럼의 튜플을 앞에서 10개 출력한다.
head(dataSet[c("job", "job2")], 10)
# job job2
# 1 1 공무원
# 2 2 회사원
# 3 2 회사원
# 4 NA <NA>
# 5 3 개인사업
# 6 2 회사원
# 7 1 공무원
# 9 1 공무원
# 10 2 회사원
# 11 NA <NA>
# 척도 변경
sort(unique(dataSet$age))
# 비율척도 : 나이 10세 ~ 70세
# : 30이하 청년층 55이하 중년층 이라고 나누는게
# 코딩 변경을 해 가독성을 높힌다.
dataSet$age2[dataSet$age <= 30] <- "청년층"
dataSet$age2[dataSet$age > 30 & dataSet$age <= 55] <- "중년층"
dataSet$age2[dataSet$age > 55] <- "장년층"
head(dataSet[c("age", "age2")], 10)
# age age2
# 1 26 청년층
# 2 54 중년층
# 3 41 중년층
# 4 45 중년층
# 5 62 장년층
# 6 57 장년층
# 7 36 중년층
# 8 NA <NA>
# 9 56 장년층
# 10 37 중년층
# 척도변경을 위해 데이터 셋
survey <- dataSet$survey # survey를 추출
maxVal <- max(survey) # survey 속성 원자값중 MAX값만 추출
csurvey <- maxVal + 1 - survey # 값을 뒤집기 위해 알고리즘을 짬.
dataSet$survey2 <- csurvey # 파생컬럼을 만들어 뒤집은 값을 넣어줌
head(dataSet[c("survey", "survey2")], 10) # 앞에서 10개 출력해봄.
# survey survey2
# 1 1 5
# 2 2 4
# 3 4 2
# 4 2 4
# 5 1 5
# 6 2 4
# 7 4 2
# 9 3 3
# 10 3 3
# 11 5 1
Comments