미국 주별 인구, 수입과 관련된 Raw data가 주어졌을 경우 Income중 특이값을 제거하여 subset을 만드는 예시
★ [학습목표]
주어진 data에서 이상치를 제거하는 방법을 이해한다.
주어진 데이터의 형식,특징을 파악하기위해 class(data name)으로 확인한다.
1) state.x77은 matrix 파일이고 이를 data.frame으로 변경한다.
class(state.x77)
state.x77
newstate <- data.frame(state.x77)
2) 이상치(특이값) 확인 후 제거
※ Outlier 기준은 통상 IQR 1.5배를 25%, 75% 기준으로 더 벗어난 수치로 판단한다.
: R 에서는 이상치를 없애지 못하므로 NA로 변경하고, NA 제거 과정을 거친다.
boxplot(newstate$Income)
boxplot.stats(newstate$Income)$out # outlier를 골라내기 위해 Box plot 확인
out.val <- boxplot.stats(newstate$Income)$out # Income에 outlier를 out.val에 입력
newstate$Income[newstate$Income %in% out.val] <- NA #Income이 outlier인것에 NA를 입력해라
head(newstate)
newdata <- newstate[complete.cases(newstate),] # NA 없는내용만 저장
newdata <- na.omit(newstate) # NA는 빼라(위문장과 같은 내용)
head(newdata)
summary(newdata)
nrow(newdata) # Row의 갯수를 return
boxplot(newdata$Income)