[R] ggplot2로 데이터 그래프 그리기

반응형
    반응형

    ggplot2를 이용한 데이터 시각화

    R의 강력한 시각화 패키지인 ggplot2에 대해 살펴볼까 합니다. ggplot2는 Hadley Wickham이 개발한 R 패키지로, "Grammer of Graphics"에 기반한 데이터 시각화 도구로 직관적으로 데이터 시각화를 구성하게 해줍니다.

    기본 구조

    ggplot2의 기본 구조는 다음과 같습니다.

    • ggplot(data, aes(x,y)) : 데이터를 설정하고, x축과 y축에 매핑
    • geom_*(): 그래프 형태 지정
      • 산점도 : geom_point()
      • 선 그래프 : geom_line()
      • 막대그래프 : geom_bar()
      • 히스토그램 : geom_histogram()
      • 상자 그림 : geom_boxplot()
      • 패싯(Facet) : facet_*

    각 그래프는 직접 보는게 가장 낫겠죠? mtcats를 통해 한개씩 살펴보겠습니다.

    data <- mtcars
    head(data)

    산점도(Scatter plot)

    좌표평면에 그리는 가장 기본적인 그래프입니다. 점으로 표현된 그래프로 나타납니다. ggplot2의 geom_point()로 산점도를 그려넣습니다.

    libaray(ggplot2)
    
    ggplot(data,aes(x=wt,y=mpg)) + geom_point()

     

    wt와 mpg의 관계를 산점도로 그렸습니다.

    선 그래프(Line graph)

    선 그래프는 데이터의 연속성을 보여줄 때 유용합니다.

    geom_line()을 사용합니다.

    data("pressure")
    ggplot(pressure,aes(x=temperature,y=pressure)) + geom_line()

     

    막대 그래프(Bar Plot)

    막대 그래프는 범주형 데이터를 시각화할 때 유용합니다.

    ggplot(data,aes(x=factor(cyl))) + geom_bar()

     

    히스토그램(Histogram)

    히스토그램은 연속형 데이터를 구간별로 나누어 분포를 시각화합니다.

    ggplot(data,aes(x=mpg))+geom_histogram(binwidth=5)

    상자 그림(box plot)

    상자 그림은 데이터의 분포와 이상치를 시각화하는데 유용합니다.

    ggplot(data,aes(x=factor(cyl),y=mpg))+geom_boxplot()

    패싯(facet)

    패싯은 데이터의 하위 집합을 여러 개의 그래프로 나누어 시각화할 때 사용합니다. 범주화를 시각해놓은 그래프라고 볼 수 있습니다.

    ggplot(data,aes(x=wt,y=mpg))+geom_point()+facet_wrap(~ gear)

     

    gear는 3,4,5 로 범주화 되어 있는데 gear를 기준으로 항목별 산포도 그래프를 그렸습니다.

    색상과 모양 지정

    추가적으로 색상과 모양 지정이 가능합니다.

    ggplot(data,aes(x=wt,y=mpg,color=factor(cyl),shape=factor(gear))) + 
    geom_point(size=3)

    테마와 레이블 추가

    보다 명확한 그래프를 위해 제목, 축 레이블, 테마 등 외부적인 옵션들도 ggplot2로 추가할 수 있습니다.

    ggplot(data, aes(x = wt, y = mpg, color = factor(cyl))) +
      geom_point(size = 3) +
      labs(title = "Weight vs MPG",
           x = "Weight (1000 lbs)",
           y = "Miles per Gallon",
           color = "Cylinders") +
      theme_minimal()

     

    마치며

    ggplot2는 골격을 맞추고 그래프 모양만 추가적으로 넣으면 되서 그래프 그릴 때 간편합니다. 활용하기 참 좋은 것 같습니다.

     

    함께 보면 좋은 글

     

     

    R로 ROC 곡선 분석하기

    R로 ROC 곡선 분석하기R에서도 머신러닝이 되는만큼 모델 평가 중 하나인 ROC 곡선 분석을 할 수 있습니다. pROC 패키지로 가능한데요. 다만, pROC패키지는 2진 분류만 가능합니다.예제로 간단하게 iri

    seong6496.tistory.com

     

     

    R을 활용한 독립표본 t검정하기

    독립표본 t검정독립표본 t검정은 두 개의 독립된 모집단의 평균을 비교할 때 사용하는 검정방법입니다.예를 들어, 성별에 따라 공부 성취도가 다른지를 검정한다고 할 때 서로 독립적인 남,여에

    seong6496.tistory.com

     

     

    [R] dplyr 패키지를 이용한 손쉬운 데이터 조작

    dplyr 패키지를 이용한 데이터 조작안녕하세요~ 이번 포스팅에서는 R의 패키지인 dplyr에 대해 이야기해보려고 합니다. dplyr은 데이터를 효율적으로 다루기 위해 만들어진 패키지로, 간결하고 쉬운

    seong6496.tistory.com

     

    'R' 카테고리의 다른 글

    Rstudio R과 MySQL 연동  (0) 2024.08.14
    [R] 리스트 벡터로 변환하기  (0) 2024.08.07
    R 새로운 열 추가 방법 총정리  (0) 2024.08.03
    [R] dplyr 패키지를 이용한 손쉬운 데이터 조작  (0) 2024.08.01
    R 데이터 변환 정리글  (0) 2024.07.31

    댓글

    Designed by JB FACTORY

    ....