[R] 히스토그램(hist) 그리기

반응형
    반응형

    R에서의 히스토그램 그리는 방법입니다.
    옵션이 많지만 다 쓸 필요는 없고 필요에 따라서 넣으면 됩니다.
    기본적으로 주어진 파라미터는 다음과 같습니다.

    hist(x, breaks = "Sturges",
         freq = NULL, probability = !freq,
         include.lowest = TRUE, right = TRUE,
         density = NULL, angle = 45, col = NULL, border = NULL,
         main = paste("Histogram of" , xname),
         xlim = range(breaks), ylim = NULL,
         xlab = xname, ylab,
         axes = TRUE, plot = TRUE, labels = FALSE,
         nclass = NULL, warn.unused = TRUE, …)
    • x : 히스토그램을 그릴 데이터
    • breaks : 계급 구간 지정(사용자가 지정한값으로 안될수도 있음), x 데이터의 특성을 반영하므로 보조적을 쓰는것을 추천.
    • freq : TRUE일때는 도수(디폴트), FALSE에서는 상대 도수 표시
    • probability : !freq(디폴트), 백분율 표시(TRUE)
    • include.lowest : TRUE면 최소값 포함, FALSE 포함 x
    • right : 구간의 오른쪽 닫힘 여부.TRUE(디폴트)
    • density : 막대 내부 빗금의 밀도
    • angle : 막대 내부 빗금의 기울기, 각도는 반시계방향으로 적용. 45도 디폴트
    • col : 히스토그램 색깔
    • border : 히스토그램 테두리 색깔
    • main : 히스토그램 이름
    • xlab, ylab : x,y축 범주 이름
    • xlim, ylim : x,y 축 범주 설정
    • axes : TRUE시 축 그림 생성(디폴트)
    • plot : TRUE시 히스토그램 그림, FALSE시 자료값을 리스트 반환
    • labels : 라벨넣기, TRUE시 각 계급에 갯수 넣음, 임의로 리스트를 넣어 만들수도있음
    • warn.unused : plot=FALSE와 warn.unused=TRUE 그래픽 매개 변수에 전달되는 경우 경고 발생

    S compatibility에 해당하는 파라미터는 뺐습니다.

    그리기

    히스토그램은 데이터만 넣어도 됩니다.

    length = iris$Sepal.Length
    
    hist(length)

    제목은 main, x축은 xlab, y축은 xlab을 넣으면 됩니다.

     

    계급 옵션

    여기에 계급을 지정하려면 breaks 를 사용합니다.
    freq를 F로 지정하면 y축이 상대도수(density)로 바뀝니다.
    probability=T 여도 freq=F와 같은결과로 나옵니다.
    probabilty=F면 freq=T와 같습니다.

    hist(length,breaks=4,freq=F) #4개 계급, 상대도수

    right에 따라서 구간의 닫힘설정이 바뀝니다.

     hist(length,breaks=4, right=F)

    막대 옵션

    density를 사용하면 막대의 투명도를 조절할 수 있습니다.

     hist(length,breaks=4, density=12)

    막대가 투명해지면 빗금이 보이는데 이 각도를 angle를 통해 바꿀수 있습니다.

     hist(length,breaks=4, density=12,angle=90)

    막대의 색깔과 테두리 색깔은 col과 border로 변경합니다.

     hist(length,breaks=4, density=12,angle=90,col='red',border='gray')

    막대마다 라벨을 붙일 수 있는데 임의로 지정해서 넣을 수 있습니다.

    labels= c('A','B','C','D')
    hist(length,breaks=4, col='red',border='gray',label=labels)

    자료값 가져오기

    히스토그램을 값으로써 필요할때 plot=F 을 사용합니다.

    >h= hist(length, plot=F)
    >h
    $breaks
    [1] 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
    
    $counts
    [1]  5 27 27 30 31 18  6  6
    
    $density
    [1] 0.06666667 0.36000000 0.36000000 0.40000000 0.41333333 0.24000000
    [7] 0.08000000 0.08000000
    
    $mids
    [1] 4.25 4.75 5.25 5.75 6.25 6.75 7.25 7.75
    
    $xname
    [1] "length"
    
    $equidist
    [1] TRUE
    
    attr(,"class")
    [1] "histogram"

     

    관련 포스팅
    [R] 그래프 그리기(plot함수)

    댓글

    Designed by JB FACTORY

    ....