/*

 http://sosal.kr/
 * made by so_Sal
 */


이상치가 보일만한 boxplot 그림을 완성하기 위해, sample과 직접 데이터를 추가해서

이상치를 가지는 데이터 a를 만들었다.


a<-sample(100:150, 100, replace=TRUE)

a[101] = 59

a[102] = 55

a[103] = 189

a[104] = 195




boxplot(a)


text(0.7, median(a), "median")

text(0.7, quantile(a)[2], "Q1")

text(0.7, quantile(a)[4], "Q3")

text(0.7, fivenum(a)[4] + 1.5*IQR(a), "Q3+1.5*IQR----")

text(0.7, fivenum(a)[2] - 1.5*IQR(a), "Q1-1.5*IQR")





-> 이상치 (낮은값)

> which(a < fivenum(a)[2] - 1.5*IQR(a))

[1] 101 102

 

-> 이상치 (높은값)

> which(a > fivenum(a)[4] + 1.5*IQR(a))

[1] 103 104

 

따라서 a[101], a[102]가 이상치 (낮은값)

a[103], a[104]가 이상치 (높은값) 이 되겠습니다.


 

a의 101, 102번 index가 낮은 값의 이상치로 판별됨

a의 103, 104번 index가 높은 값의 이상치로 판별됨



Q3 + 1.5*IQR 보다 크거나 Q1 - 1.5*IQR 보다 작은 수는 outlying value(이상치) 라고 한다.

여기서 Q3 + 3*IQR보다 크거나 Q1 - 3*IQR보다 작은 수는 extream outlying value라고 한다.

저작자 표시 비영리 변경 금지
신고
Posted by sosal sosal

댓글을 달아 주세요

  1. 2015.04.02 16:03 신고

    이상치를 찾는다고 하셨는데,
    이상치 값이 아닌 다른 값들이 나왔는데요?
    이상치를 확인하기 위해 59,55,189,195를 따로 추가하셨는데,
    이상치를 구한 값에서는 101,102 와 같은 값들이 얻어지는 식을 쓰셨어요.

    • 2015.04.02 16:39 신고

      이상치에서 구한 101, 102는 값이 아니라 배열의 index입니다.
      a[101], a[102]가 이상치라는 말입니다. 오해의 소지를 만든것 같네요. 수정하였습니다 ^^ 감사합니다.