-
box plot II카테고리 없음 2023. 6. 4. 06:39
box plot을 그리기 위하여 임의의 데이터를 생성하였다.
sch 는 집단을 나타내는 변수로, sch1에는 400명의 학생이, sch2에는 320명의 학생이, sch3에는 80명, sch4에는 150명의 학생이 있다는 것을 의미한다.
ss는 점수를 의미하는 것으로 sch1에는 400명 학생의 점수를 생성하되 sch1 학교의 평균이 70점, 표준편차가 5가 되도록 했고, sch2는 평균이 75점 표준편차가 2.5가 되는 320개의 점수를 생성했고, sch3는 평균 80, 표준편차 1.6이 되도록, sch4는 평균이 73점 표준편차가 3이 되도록 점수를 생성했다.
이렇게 생성한 데이터를 df2 로 지정하였다.
df2 <- data.frame( sch = c(rep("sch1", 400), rep("sch2", 320), rep("sch3", 80), rep("sch4", 150)), ss = c(rnorm(400, 70, 5), rnorm(320, 75, 2.5), rnorm(80, 80, 1.6), rnorm(150, 73, 3)) )
가장 기본적인 형태는 boxplot을 이용하는 것이고 아래와 같다.(boxplot 글 참조)
boxplot(ss~sch,data=df2, main="Scaled score by schools", xlab="Schools", ylab="Scaled Scores", col = (c("lightblue", "lightpink", "lightgreen", "grey")))
여기에서는 ggplot을 이용해보려고 한다. 기본형태는 ggplot(데이터명, aes(x=변수1, y=변수2)) + geom_boxplot()이다.
참고로 ggplot으로 그린 그래프를 grph1 이란 이름을 갖도록 할당하였다.
grph1 <- ggplot(df2, aes(x=sch, y=ss)) + geom_boxplot() grph1
geom_boxplot(극단치값의 색상, 극단치값 표기방법, 극단치값 사이즈) + stat_summary(fun.y=평균, geom="pooint", shape="표기형태", size=)
grph2 <- ggplot(df2, aes(x=sch, y=ss)) + geom_boxplot(outlier.colour = "red", outlier.shape=20, outlier.size=3) + stat_summary(fun.y=mean, geom="point", shape=18, size=3) grph2
shape과 관련해서는 아래의 그림을 참고하면 된다.
[그림1] point shape