library(ggplot2)
data("diamonds")
summary(diamonds)
## carat cut color clarity depth
## Min. :0.2000 Fair : 1610 D: 6775 SI1 :13065 Min. :43.00
## 1st Qu.:0.4000 Good : 4906 E: 9797 VS2 :12258 1st Qu.:61.00
## Median :0.7000 Very Good:12082 F: 9542 SI2 : 9194 Median :61.80
## Mean :0.7979 Premium :13791 G:11292 VS1 : 8171 Mean :61.75
## 3rd Qu.:1.0400 Ideal :21551 H: 8304 VVS2 : 5066 3rd Qu.:62.50
## Max. :5.0100 I: 5422 VVS1 : 3655 Max. :79.00
## J: 2808 (Other): 2531
## table price x y
## Min. :43.00 Min. : 326 Min. : 0.000 Min. : 0.000
## 1st Qu.:56.00 1st Qu.: 950 1st Qu.: 4.710 1st Qu.: 4.720
## Median :57.00 Median : 2401 Median : 5.700 Median : 5.710
## Mean :57.46 Mean : 3933 Mean : 5.731 Mean : 5.735
## 3rd Qu.:59.00 3rd Qu.: 5324 3rd Qu.: 6.540 3rd Qu.: 6.540
## Max. :95.00 Max. :18823 Max. :10.740 Max. :58.900
##
## z
## Min. : 0.000
## 1st Qu.: 2.910
## Median : 3.530
## Mean : 3.539
## 3rd Qu.: 4.040
## Max. :31.800
##
ggplot(diamonds, aes(x = price)) +
geom_histogram(binwidth = 500, fill="skyblue",color = "black") +
labs(title = "다이아몬드 가격 분포",x = "가격",y = "빈도")

# 평균>중앙값>최빈값 크기순서 문제 출제
# 히스토그램 시각화 결과
# x축 계급값: 계급값이 너무 세분화 되어 있으면 연산속도에 영향
ggplot(diamonds,aes(x=carat,y=price))+
geom_point(alpha = 0.2) +
labs(title="캐럿과 가격 관계",x="Carat",y="Price")

# 수치형데이터 간의 시각화를 산정도라 합니다.
# carat 크기가 클수록 가격도 상승함을 확인할 수 있음
ggplot(diamonds,aes(x=carat,y=price, color=clarity))+
geom_point(alpha = 0.6) +
labs(title="캐럿과 가격 관계",x="Carat",y="Price")

ggplot(diamonds,aes(x=cut,y=price))+
geom_boxplot(fill="lightpink") +
labs(title="컷 등급별 가격 분포",x="Carat",y="Price")

ggplot(diamonds,aes(x=carat,y=price))+
geom_point(alpha=0.3) +
facet_wrap(~cut) +
labs(title="컷 등급별 캐럿~가격 관계")

# install.packages("gapminder")
library(gapminder)
data("gapminder")
summary(gapminder)
## country continent year lifeExp
## Afghanistan: 12 Africa :624 Min. :1952 Min. :23.60
## Albania : 12 Americas:300 1st Qu.:1966 1st Qu.:48.20
## Algeria : 12 Asia :396 Median :1980 Median :60.71
## Angola : 12 Europe :360 Mean :1980 Mean :59.47
## Argentina : 12 Oceania : 24 3rd Qu.:1993 3rd Qu.:70.85
## Australia : 12 Max. :2007 Max. :82.60
## (Other) :1632
## pop gdpPercap
## Min. :6.001e+04 Min. : 241.2
## 1st Qu.:2.794e+06 1st Qu.: 1202.1
## Median :7.024e+06 Median : 3531.8
## Mean :2.960e+07 Mean : 7215.3
## 3rd Qu.:1.959e+07 3rd Qu.: 9325.5
## Max. :1.319e+09 Max. :113523.1
##
# options(scipen=999) # 과학적표기 -> 일반적숫자
# options(scipen=-999) #일반적숫자 -> 과학적표기
ggplot(gapminder, aes(x = gdpPercap, y = lifeExp, size = pop, color = continent)) +
geom_point(alpha = 0.6) +
scale_x_log10() +
facet_wrap(~ year) +
labs(title = "연도별 GDP와 기대수명의 관계",
x = "1인당 GDP (log)", y = "기대수명") +
theme_light()

library(gapminder)
library(gganimate)
ggplot(gapminder, aes(x = gdpPercap, y = lifeExp,
size = pop, color = continent)) +
geom_point(alpha = 0.7, show.legend = TRUE) +
scale_x_log10() +
labs(title = "Year: {frame_time}",
x = "1인당 GDP (log)", y = "기대수명") +
theme_minimal() +
transition_time(year) +
ease_aes('linear')
library(gapminder)
library(gganimate)
ggplot(gapminder, aes(x = gdpPercap, y = lifeExp,
size = pop, color = continent)) +
geom_point(alpha = 0.7, show.legend = TRUE) +
scale_x_log10() +
labs(title = "Year: {frame_time}",
x = "1인당 GDP (log)", y = "기대수명") +
theme_minimal() +
transition_time(year) +
ease_aes('linear')
ggplot(gapminder, aes(x = gdpPercap, y = lifeExp,
size = pop, color = continent, label = country)) +
geom_point(alpha = 0.7, show.legend = FALSE) +
geom_text(size = 3, vjust = -1, check_overlap = TRUE) + # 국가 이름 표시
scale_x_log10() +
labs(title = "연도별 세계 발전 변화: {frame_time}",
x = "1인당 GDP (로그 스케일)", y = "기대수명") +
theme_minimal() +
transition_time(year) +
ease_aes('linear')
