[R 강의] 38. Box Plot(상자그림)에 관측수, 표준편차 넣기
38. Box Plot(상자그림)에 관측수, 표준편차 넣기
세 개의 데이터를 정의하고 boxplot을 그려봅시다.
> a=c(1,2,3)
> b=c(1,2,3,4,5)
> c=c(1,2,3,4,5,6,7,8)
> BP1=boxplot(a,b,c,ylim=c(0,10),names=c("A","B","C"))
1. 관측 수 넣기
text 함수를 이용하여 관측 수를 입력해줍니다.
text(x좌표, y좌표, 텍스트)
> text(1:3,BP1$stats[5,],paste("n=",BP1$n))
위치를 나타내는 숫자 5를 1로 바꿔봅시다. 입력한 text를 바꾸고 싶으면, Boxplot을 다시 그려주어야 합니다. 그렇게 하지 않으면 text가 계속 누적되어 표시됩니다.
> BP1=boxplot(a,b,c,ylim=c(0,10),names=c("A","B","C"))
> text(1:3,BP1$stats[1,],paste("n=",BP1$n))
텍스트가 아래쪽에 그려진 것을 확인할 수 있습니다. stats 뒤 대괄호 안에 1,2,3,4,5를 입력할 수 있고, 각각 최솟값, 1사분위수, 2사분위수, 3사분위수, 최댓값을 의미합니다. 보기 좋게 하기 위해 최댓값에서 약간 위에 관측수를 위치시키겠습니다. 위치에 1을 더해주시면 됩니다.
> BP1=boxplot(a,b,c,ylim=c(0,10),names=c("A","B","C"))
> text(1:3,BP1$stats[5,]+1,paste("n=",BP1$n))
2. 표준편차 넣기
위에서 정의한 벡터 a,b,c의 표준편차로 이루어진 벡터를 정의합니다.
> SD=c(sd(a),sd(b),sd(c))
> SD
[1] 1.000000 1.581139 2.449490
소수 둘째자리로 반올림해줍니다.
> SD=round(SD,2)
> SD
[1] 1.00 1.58 2.45
상자그림을 그리는 방법은 위 예제와 같구요. 텍스트를 넣어주는 부분만 아래와 같이 입력하시면 됩니다.
> BP1=boxplot(a,b,c,ylim=c(0,10),names=c("A","B","C"))
> text(1:3,BP1$stats[5,]+1,paste("SD=",SD))
영상이 더 편하신 분