레이블이 graph인 게시물을 표시합니다. 모든 게시물 표시
레이블이 graph인 게시물을 표시합니다. 모든 게시물 표시

R 기초 ggplot2로 mpg 배기량과 연비의 히스토그램, 바그래프, 산점 그래프 보기

 

   mtcars 데이터로는 다양하게  분석 할 수 있다.  여기에서는 ggplot2 패키지를 만든 아래의  해들리 위컴 서적에서  주로 다루었던 사항을 이야기 하겠다. 



 
해들리 위컴 책에서 주로 나왔던 산점도를 그려 분석 할 수 있는 것은 아래의 변수이다. 

  • displ (배기량)
  • hwy(연비)    
  • class (차동차 등급)

위의 두개의 변수 가지고 산점도를 분석 하였다.   즉 위의 책에서 나오는 이야기는 

배기량 별로 연비가 어떻게 변화는지 그리고 자동차 등급 별로 어떻게 변화는지 설명 하였다. 

사실 자동차에서 배기량 하고 연비의 구조를 보는 것이 매우 현실 적이다. 


아래는 데이터의 구조 이다. 

library(ggplot2)


## 배기량하고 연비를 본다.

#데이터 보기 
 head(mpg)
## # A tibble: 6 x 11
##   manufacturer model displ  year   cyl trans      drv     cty   hwy fl    class 
##   <chr>        <chr> <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr> 
## 1 audi         a4      1.8  1999     4 auto(l5)   f        18    29 p     compa…
## 2 audi         a4      1.8  1999     4 manual(m5) f        21    29 p     compa…
## 3 audi         a4      2    2008     4 manual(m6) f        20    31 p     compa…
## 4 audi         a4      2    2008     4 auto(av)   f        21    30 p     compa…
## 5 audi         a4      2.8  1999     6 auto(l5)   f        16    26 p     compa…
## 6 audi         a4      2.8  1999     6 manual(m5) f        18    26 p     compa…
#데이터 구조 보기 
 str(mpg)
## tibble [234 × 11] (S3: tbl_df/tbl/data.frame)
##  $ manufacturer: chr [1:234] "audi" "audi" "audi" "audi" ...
##  $ model       : chr [1:234] "a4" "a4" "a4" "a4" ...
##  $ displ       : num [1:234] 1.8 1.8 2 2 2.8 2.8 3.1 1.8 1.8 2 ...
##  $ year        : int [1:234] 1999 1999 2008 2008 1999 1999 2008 1999 1999 2008 ...
##  $ cyl         : int [1:234] 4 4 4 4 6 6 6 4 4 4 ...
##  $ trans       : chr [1:234] "auto(l5)" "manual(m5)" "manual(m6)" "auto(av)" ...
##  $ drv         : chr [1:234] "f" "f" "f" "f" ...
##  $ cty         : int [1:234] 18 21 20 21 16 18 18 18 16 20 ...
##  $ hwy         : int [1:234] 29 29 31 30 26 26 27 26 25 28 ...
##  $ fl          : chr [1:234] "p" "p" "p" "p" ...
##  $ class       : chr [1:234] "compact" "compact" "compact" "compact" ...

  

  아래는 자동차 연비(hwy)에 대한 히스토그램이다.   연비가 연속형 자료이기 때문에 히스트그램 그리기가 용이하다. 

# 연비에 대한 히스토그램 보기 
 ggplot(data = mpg) +
   geom_histogram(mapping = aes(hwy), bins =  30)


  연비에 대한 bar 그래프이다. 위에 있는 히스토그램은 분포에 대한 모형을 그리고, bar는 연비에대 한 갯수를 그린것이다. 

 # 연비에 대한 바 그래프
 ggplot(data = mpg) +
   geom_bar(mapping =aes(x= hwy))

ggplot으로 배기량과 연비의 산점도를 본다.  아래의 그래프와 같이 배기량이 클수록 연비가 낮은 분포를 가지고 있다. 

 자동차 등급 별로 데이터를 보았을대,  소형차, 준중형차  종류가  배기량도 적은 대신에 연비가 높았고,,   suv  나   pick-up 트럭 계열은 연비가 낮았다. 

 각 차종별 그래프 산점도 보기 
 ggplot(data= mpg)+
   geom_point( mapping = aes(x=displ, y = hwy, color=class))

  


차량 등급별 사이즈를 구분해서 데이터를 시각화 하기 

 #각 차종별 사이즈를 분리해서 보기  
 ggplot(data= mpg)+
   geom_point( mapping = aes(x=displ, y = hwy, size=class, color=class))  
## Warning: Using size for a discrete variable is not advised.


차량등급별로 기호로 나누어서 데이터 산점도를 보았다. 어느 것이 분석 하기 좋은지는 봐야 알것 같다.  

 #차량 등급별 기호로 분리 해서 보기   
 ggplot(data= mpg)+
   geom_point( mapping = aes(x=displ, y = hwy, shape=class))
## Warning: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 7. Consider
## specifying shapes manually if you must have them.
## Warning: Removed 62 rows containing missing values (geom_point).

차량 등급별로 연비 분포를 나누었다.   차량 종류별로 분포의 차이가 나타난다. 

# 연비 분포 보기 
 ggplot(data= mpg)+
   geom_point( mapping = aes(x=displ, y = hwy)) +
   facet_wrap(~class, nrow =2)

  결국 경제성 있는 차량을 선택 하는 것인데,  suv와 pic-up은 배기량이 낮아도 연비가 않좋다는 것을 알수 있고,  compact은 배기량이,  낮고 연비가 않 좋은 것으로 나타났다. 

 ggplot2의 창시자인 해들리 위컴은 우리가 이해하기 쉽고,  실제에도 많이 쓰일 만한 데이터를 분석 하였다. 


css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...