안녕하세요 구도입니다.
오늘은 R 히스토그램에서 y축을 상대도수로 하는 법, 줄기-잎 그림 그리는 법, 박스플롯, 히스토그램과 상자그림을 동시에 그리는 방법에 대해 배워보도록 하겠습니다.
작성한 코드만 보고 이해하시지 말고 프로그램에서 직접 실습해보시면서 공부하시면 이해가 훨씬 빠르시답니다.
*프로그램은 'R x64 3.5.1' 을 사용하였습니다*
# 배열 만들기
height1 <- c(4,18,5,8) #그룹 1값 할당
height2 <- c(9,15,20,6) #그룹 2값 할당
height <- rbind(height1, height2)
height
name <- c("영업 1팀", "영업 2팀", "영업 3팀", "영업 4팀") # 그룹 이름 할당
legend_lb1 <- c("2014년", "2015년") # 범례 라벨 만들기
height_1 <- cbind(height1, height2) # 배열 만들기
height_1
par(mfrow=c(1,2))
barplot(height_1, main="연도별 팀 영업 실적", names.arg=legend_lb1, xlab="연도", ylab="영업 실적(억 원)", col=c("darkblue", "red", "yellow", "green"),
legend.text=name, beside=T, ylim=c(0,25), args.legend=list(x='top'))
barplot(height_1, main="연도별 팀 영업 실적", names.arg=legend_lb1, xlab="연도", ylab="영업 실적(억 원)", col=c("darkblue", "red", "yellow", "green"),
legend.text=name, beside=F, args.legend=list(x='topleft') )
# 히스토그램에서 상대도수를 y축으로 하는 방법
a <- hist(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", breaks=seq(4,6.5,by=0.5),freq=FALSE)
a
a$density # 원래 히스토그램의 density값
a$density=a$counts / sum(a$counts) # 내가 지정한 값을 히스토그램의 density값으로 변경
a$density
a
par(mfrow=c(1,3))
plot(a,freq=T)
plot(a,freq=F) #freq=F이면 각 계급구간(a$breaks)에 대해 확률밀도(a$density)로 크기를 출력함
plot(a,freq=F, ylab="상대도수")
# 줄기-잎 그림
stem(mag)
Scores1 <- c(2,3,16,23,14,12,4,1,2,0,0,0,6,28,31,14,4,8,2,5)
Scores1
Scores=scan()
2 3 16 23 14 12 4 1 2 0 0 0 6 28 31 14 4 8 2 5 #scan()는 숫자로 이루어진 자료를 직접 입력하는데 유용한 함수.
# 자료를 입력한 후 더 이상 입력할 자룍 없을 때 Enter키 누름
Scores
stem(Scores)
stem(Scores, scale=2) #줄기를 10단위가 아닌 크기를 반으로 줄인 5단위로 하고 싶을때 scale 옵션 이용
# 박스플롯
library(graphics)
data(quakes) # 지진 강도의 데이터 세트 불러오기
quakes
?quakes #해당자료 quakes에 대한 자세한 설명 볼 수 있음
head(quakes) # 자료의 상위 일부만 나타낼 때 사용.
str(quakes) #str()를 이용하여 자료 및 변수들의 유형 확인. num=숫자형(실수), Factor=인자형, chr=문자형, int=숫자형(정수)
mag <- quakes$mag # 지진의 강도에 대한 벡터 데이터 할당
mag # 지진의 강도 출력
min(mag) # method 1. 기술통계량 구하는 방법
max(mag)
median(mag)
quantile(mag, c(0.25,0.5,0.75)) # 25, 50, 75 백분위수
summary(mag) # method 2. 기술통계량 구하는 방법
var(mag)
sd(mag)
IQR(mag)
sort(mag) #디폴트는 올림차순
sort(mag, decreasing=T) #내림차순 할 때
boxplot(mag)
# 색깔 지정
par(mfrow=c(1,2))
boxplot(mag)
boxplot(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", col="red")
# 수직 vs 수평
par(mfrow=c(1,2))
boxplot(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", col="red")
boxplot(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", col="red", horizontal=T)
# box 모양
par(mfrow=c(1,2))
boxplot(mag)
boxplot(mag, notch=T)
# y축 변경
par(mfrow=c(1,2))
boxplot(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", col="red")
boxplot(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", col="red", ylim = c(3.5,7))
# 상자그림의 폭을 조정(boxwex)
par(mfrow=c(1,2))
boxplot(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", col="red", boxwex=0.25)
boxplot(mag, main="지진 발생 강도의 분포", xlab="지진 강도", ylab="발생 건수", col="red", boxwex=0.5)
# 히스토그램과 상자그림 동시에 그리기
library(UsingR)
simple.hist.and.boxplot(mag)
오늘도 글 읽어주셔서 감사합니다.
'IT > 빅데이터분석및시각화' 카테고리의 다른 글
[빅데이터분석및시각화 09] R 텍스트마이닝 01 (0) | 2019.01.26 |
---|---|
[빅데이터분석및시각화 08] R Plot / 수치형 자료를 범주형으로 바꾸기 (0) | 2019.01.16 |
[빅데이터분석및시각화 06] R 히스토그램 그리기 (0) | 2018.12.27 |
[빅데이터분석및시각화 05] R pie3D / barplot 함수 (0) | 2018.12.24 |
[빅데이터분석및시각화 05] R 파이차트 그리기 (0) | 2018.12.20 |