인트로
데이터 시각화는 매우 중요하다. 데이터와 숫자는 기업의 언어이고,
특히 그 중 의미 있는 데이터는 시각화를 통해 여러 부서들에게 효과적으로 전달된다.
경영학과에서 요즘 엑셀, SPSS, R 등을 배우는 강의가 늘어나는 이유가 이 때문이지 않나 싶다.
특히 R은 다양한 패키지를 지원하여 시각화에 매우 큰 강점을 가지고 있다.
기본 틀 설정하기
ggplot2 패키지의 느낌은 ' 점점 쌓아가는 것 ' 이라고 보면 된다.
기본적인 틀을 잡은 후 산점도, 선 그래프, 수직선 , 라벨 등으로 시각화를 완성하는 것이다.
ggplot 으로 틀을 잡고 , ' + ' 연산자로 계속 그래프나 요소들을 쌓을 수 있다.
함수 : ggplot ( 데이터 , aes ( x = 열 , y = 열 ) )
- aes 함수 : 데이터의 축에 변수를 매핑하는 역할
# 온도와 오존의 상관관계 파악을 위한 기본 틀
ggplot(airquality,aes(x=Temp,y=Ozone))
산점도 / 선그래프 / 막대그래프
- 함수 : geom_point , geom_line , geom_bar
# 크기 , 색 등 다양한 옵션 추가 가능 (p.s 들여쓰기는 무조건 연산자 이후 바로)
ggplot(airquality,aes(x=Temp,y=Ozone) +
geom_point(size=3)
ggplot(airquality,aes(x=Temp,y=Ozone)) +
geom_line(color='blue')
# 수치형 데이터인 경우, 오름차순으로 x축이 정렬된다.
# 그러므로 중간중간 빈 부분이 생겨나기에, factor 함수로 범주화 가능하다.
ggplot(airquality,aes(x=Temp) +
geom_bar(width=0.5)
ggplot(airquality,aes(x=factor(Temp)) +
geom_bar(width=0.5)
누적 막대 그래프 / 선버스트
간단한 막대 그래프에 fill 옵션을 추가해서 누적 막대 그래프로 만들 수 있다.
또한 , coord_polar 함수를 추가하게 되면 그래프가 선버스트 차트 ( 원형 누적 그래프 ) 형태로 전환된다.
# 온도 막대 그래프에 오존이라는 축을 추가한 누적 막대그래프
ggplot(airquality, aes(x=Temp) + geom_bar(aes(fill=factor(Ozone)))
# 선버스트
ggplot(airquality, aes(x=Temp) + geom_bar(aes(fill=factor(Ozone))) +
coord_polar()
상자그림 / 히스토그램
함수 : geom_boxplot , geom_histogram
# 어느 축으로 정할지 (가로/세로) group 옵션으로 지정해줘야 한다.
ggplot(airquality,aes(x=Day,y=Temp,group=Day)) + geom_boxplot()
# binwidth 옵션을 통해 막대 너비 설정이 가능하다.
ggplot(airquality,aes(Temp)) + geom_histogram(binwidth=1)
'Coding & Data Analysis > R' 카테고리의 다른 글
[R] 절편과 기울기 구하기 : 회귀 분석 (0) | 2024.08.20 |
---|---|
[R] 6-2. 그래프에 객체 추가하기 (0) | 2024.08.20 |
[R] 5-4. 데이터 정제하기 (1) | 2024.08.16 |
[R] 5-3. 데이터 구조 변형하기 (0) | 2024.08.16 |
[R] 5-2. 데이터 가공하기 (0) | 2024.08.15 |