[R] 이상치 정제하기

imacusirius·2021년 8월 11일
0

R

목록 보기
12/16

이상치

정상 범주에서 크게 벗어난 값

이상치 제거

  1. 이상치 확인
table(데이터프레임$확인할변수명)
  • 결과에서 해당 변수가 가질 수 없는 값이 있다면 이상치가 있는 것임
  1. 결측 처리
outlier$score <- ifelse(outlier$score == 이상값, NA, outlier$score)
  1. 분석할 때 결측치 제외하기
outlier %>%
  filter(!is.na(sex) & !is.na(score)) %>%
  group_by(sex) %>%
  summarise(mean_score = mean(score))

극단치

논리적으로 존재할 수는 있으나 극단적으로 크거나 작은 값

  • 논리적 판단
  • 통계적인 기준 이용
  • 상자 그림(Boxplot) 이용

상자 그림으로 극단치 기준 정하기

  1. 상자 그림 만들기
boxplot(mpg$hwy)

  • 상자 기준 위 아래 직선이 극단치 경계, 직선을 벗어난 데이터는 극단치
  1. 상자 그림 만들 때 사용하는 통계치 출력
boxplot(mpg$hwy)$stats
-- 결과
     [,1]
[1,]   12 # 아래쪽 극단치 경계
[2,]   18 # 1사분위 수
[3,]   24 # 중앙값
[4,]   27 # 3사분위 수
[5,]   37 # 위쪽 극단치 경계
attr(,"class")
        1 
"integer" 
  1. 결측 처리
mpg$hwy <- ifelse(mpg$hwy < 12 | mpg$hwy > 37, NA, mpg$hwy)
table(is.na(mpg$hwy))
-- 결과
FALSE  TRUE 
  231     3 
  1. 결측치 제외 후 분석 수행
mpg %>%
  group_by(drv) %>%
  summarise(mean_hwy = mean(hwy, na.rm = T))

0개의 댓글