본문 바로가기
2. 그래프 그리기 (고수준 함수)/hist() - 히스토그램

R 역 누적분포 히스토그램

by makhimh 2020. 12. 8.
반응형

R 역 누적분포 히스토그램


일반적인 누적분포를 계산하는 방법은 아래와 같습니다. 


data=c(1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6)


간격을 1로 설정하면 계급과 도수는 아래와 같습니다. 누적도수의 경우 간격을 1로 설정해야 그래프를 그리기가 수월합니다. 


0-1 : 1

1-2 : 2

2-3 : 3

3-4 : 4

4-5 : 5

5-6 : 6


누적도수로 나타내면 아래와 같습니다.


0-1 : 1

1-2 : 3

2-3 : 6

3-4 : 10

4-5 : 15

5-6 : 21


여기서 말하는 '역'누적분포는 아래와 같습니다. 


0-1 : 21

1-2 : 20

2-3 : 18

3-4 : 15

4-5 : 11

5-6 : 6


누적도수가 앞에서 부터의 누적이라면, 역누적도수는 뒤에서부터의 누적입니다. 아래의 절차로 구합니다. 


1) 도수 계산 (hist 함수)

2) 순서 뒤집기 (rev)

3) 누적도수 계산 (cumsum 함수)

4) 다시 순서 뒤집기 (rev)

3) 그래프 (barplot 함수)


아래는 코드입니다. 


#데이터

data=c(1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6)

#히스토그램 저장 (for 도수계산)

myhist=hist(data,seq(0,6,by=1))

#뒤집기

rev1=rev(myhist$counts)

#누적도수 계산하기

counts_cum=cumsum(rev1)

#다시 뒤집기

rev2=rev(counts)

#막대그래프

barplot(rev2,names=myhist$breaks[-1])


반응형

댓글