[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