본문 바로가기

기초통계

[기초] 2. [R]줄기-잎 그림, 히스토그램, 상자그림

반응형

## 작성일: 2017-09-21

## 작성자: 춤추는초코칩

## 줄기-잎 그림, 히스토그램, 상자그림


## 1. 줄기-잎 그림(Stem-Leaf Plot)

x = runif(100,0,1)

stem(x)

# 도수가 68개를 초과하면 '+' 기호 뒤에 숫자로 표현됨

x = runif(1500,0,1)

stem(x)


## 2. 히스토그램(Histogram)

x = rnorm(1000,0,1)

par(mfrow = c(1,2))

# y축이 도수

hist(x, freq=TRUE, main="hist(x, freq=TRUE)")

# y축이 상대도수

hist(x, freq=FALSE, main="hist(x, freq=FALSE)")

# 막대너비 지정

hist(x, freq=TRUE, breaks=seq(-4,4,0.1), main="hist(x, freq=TRUE, breaks=seq(-4,4,0.1))")

# 최소값에서 최대값까지 범위 지정

hist(x, freq=TRUE, breaks=seq(min(x),max(x),0.1))

#Error in hist.default(x, freq = TRUE, breaks = seq(min(x), max(x), 0.1),  : 

#  일부 'x'가 세어지지 않았습니다; 아마도 'breaks'가 'x'의 범위를 모두 포함하지 않은 것 같습니다

# 모든 값을 포함하고 있어야 히스토그램이 그려짐. 

# 특히, 범위가 ?이상 ?미만인 것으로 판단되어 최대값은 보다 크게 잡아야함. 증가 단위만큼 추가

hist(x, freq=TRUE, breaks=seq(min(x),max(x)+0.1,0.1), main="hist(x, freq=TRUE, breaks=seq(min(x),max(x)+0.1,0.1))")

# y축의 범위설정

hist(x, freq=TRUE, breaks=seq(min(x),max(x)+0.1,0.1), ylim=c(0,50), main="hist(x, freq=TRUE, breaks=seq(min(x),max(x)+0.1,0.1), ylim=c(0,50))")

# 확률밀도함수 추가

lines(density(x))

# 확률밀도함의 y축은 0과 1사이의 값이므로 상대도수로 표현

hist(x, freq=FALSE, breaks=seq(min(x),max(x)+0.1,0.1), ylim=c(0,0.5), main="hist(x, freq=FALSE, breaks=seq(min(x),max(x)+0.1,0.1), ylim=c(0,0.5))")

lines(density(x))

## 3, 상자그림(Box Plot)

par(mfrow = c(1,2))

# 수평 상자그림

boxplot(x, horizontal=TRUE, main="boxplot(x, horizontal=TRUE)")

# 수직 상자그림

boxplot(x, horizontal=FALSE, main="boxplot(x, horizontal=FALSE)")


참고문헌 : R 실습으로 배우는 통계적 방법(2016, 박진표 지음)

반응형