[R] 시각화 - histogram, box plot
histogram(his)
: 연속형 자료가 모여있는 위치나 자료의 분포에 관한 대략적인 정보를 파악하는 그래프
하지만 구체적인 수치정보를 알 수 없다
right=F : 이상~미만
right=T : 초과~이하
hist(cost,breaks=seq(50,110,by=10),right=F,col=rainbow(7),ylim =c(0,20),labels=T)
box plot
: 최솟값, 제1사분위수, 중앙값, 제3사분위수,최댓값의 다섯가지 요약수치 등을 파악할 수 있는 그래프
이상치 데이터를 확인할 수 있다
boxplot(cost,horizontal=T)
1.중앙값(median)
mean(cost) ≠ median(cost)
1-1) 관측값을 크기순으로 정렬(오름차순)
1-2) 관측값의 개수를 센다(n)
n=홀수 : (n+1)/2번째 관측값
n=짝수 : n/2번째 관측값과 (n/2)+1번째 관측값의 평균
2.사분위수(quantile)
Q1 : 1사분위 Q2(중앙값)보다 작은 데이터의 중앙값, 25%
Q2 : 중앙값, 50%
Q3 : 3사분위 Q2(중앙값)보다 큰 데이터의 중앙값, 75%
quantile(1:10,type=7) :기본값
quantile(1:10,type=2) : 일반적 사분위수
가상의 경계선(울타리선)
사분위 범위(Inter Quartile Range)
: IQR = Q3-Q1
upper fence : Q3 + 1.5*IQR
lower fence : Q1 - 1.5*IQR
이상치
boxplot(c(1:10,20,-10),horizontal = T)
[문제170] store.csv 파일에 있는 데이터를 분석하세요. A,B,C 업체 중 사용하기 가장 좋은 업체는 어디인가요?
store <- read.csv("c:/data/store.csv",header=T)
1) 배달까지 걸린 시간(분)과 건수를 box plot으로 대략적 비교하기
boxplot(store$A,store$B,store$C,names=c('A','B','C'))
2) 배달까지 걸린 시간(분)과 건수를 히스토그램으로 비교하기(분산,표준편차)
hist(store$A,main="A배달",xlab = "분",ylab="건수")
hist(store$B,main="B배달",xlab = "분",ylab="건수")
hist(store$C,main="C배달",xlab = "분",ylab="건수")
⇒ B업체가 가장 좋음!
[문제171] 사원들의 급여의 분포를 histogram, boxplot 이용해서 시각화하시오
employees <- read.csv("c:/data/employees.csv",header=T)
1) histogram
① hist(employees$SALARY,breaks=seq(0,25000,5000),right=F,labels=T,ylim=c(0,60),
xlab='급여',ylab='빈도수',main='급여 히스토그램')
② hist(employees$SALARY,breaks=10,right=F,labels=T,ylim=c(0,60),
xlab='급여',ylab='빈도수',main='급여 히스토그램')
2) boxplot
b <- boxplot(employees$SALARY)
text(1.2,b$out,b$out,col="red")