Dữ liệu Time Series

Tập dữ liệu được mô phỏng là Gapminder, trong đó 2 biến số cần quan tâm là gdpPercapyear, chúng ta sử dụng 4 thư viện: ggplot2 (Mô phỏng tĩnh), dplyr (Thao tác với dữ liệu), tidyr(Hoán chuyển dữ liệu), highchart(Mô phỏng động chuỗi thời gian) Dữ liệu gapminder trình bày tóm tắt như sau:

## tibble [1,704 x 6] (S3: tbl_df/tbl/data.frame)
##  $ country  : Factor w/ 142 levels "Afghanistan",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ continent: Factor w/ 5 levels "Africa","Americas",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ year     : int [1:1704] 1952 1957 1962 1967 1972 1977 1982 1987 1992 1997 ...
##  $ lifeExp  : num [1:1704] 28.8 30.3 32 34 36.1 ...
##  $ pop      : int [1:1704] 8425333 9240934 10267083 11537966 13079460 14880372 12881816 13867957 16317921 22227415 ...
##  $ gdpPercap: num [1:1704] 779 821 853 836 740 ...
##         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  
## 
## # A tibble: 10 x 6
##    country     continent  year lifeExp      pop gdpPercap
##    <fct>       <fct>     <int>   <dbl>    <int>     <dbl>
##  1 Afghanistan Asia       1952    28.8  8425333      779.
##  2 Afghanistan Asia       1957    30.3  9240934      821.
##  3 Afghanistan Asia       1962    32.0 10267083      853.
##  4 Afghanistan Asia       1967    34.0 11537966      836.
##  5 Afghanistan Asia       1972    36.1 13079460      740.
##  6 Afghanistan Asia       1977    38.4 14880372      786.
##  7 Afghanistan Asia       1982    39.9 12881816      978.
##  8 Afghanistan Asia       1987    40.8 13867957      852.
##  9 Afghanistan Asia       1992    41.7 16317921      649.
## 10 Afghanistan Asia       1997    41.8 22227415      635.

Thu gọn dữ liệu

Chúng ta thu gọn dữ liệu và sắp xếp theo năm số trung bình thu nhập đầu người (GdpPercap) theo từng châu lục, sử dụng thư viện dplyr, kết quả cho một data_frame là data, sử dụng thư viện tidyr để hoán chuyển dòng thành cột, chúng ta được data_frame mới là data_new.

##         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  
## 
## `summarise()` regrouping output by 'year' (override with `.groups` argument)
## # A tibble: 10 x 3
## # Groups:   year [2]
##     year continent gdp_per_cap
##    <int> <fct>           <dbl>
##  1  1952 Africa           1253
##  2  1952 Americas         4079
##  3  1952 Asia             5195
##  4  1952 Europe           5661
##  5  1952 Oceania         10298
##  6  1957 Africa           1385
##  7  1957 Americas         4616
##  8  1957 Asia             5788
##  9  1957 Europe           6963
## 10  1957 Oceania         11599
## # A tibble: 10 x 6
## # Groups:   year [10]
##     year Africa Americas  Asia Europe Oceania
##    <int>  <dbl>    <dbl> <dbl>  <dbl>   <dbl>
##  1  1952   1253     4079  5195   5661   10298
##  2  1957   1385     4616  5788   6963   11599
##  3  1962   1598     4902  5729   8365   12696
##  4  1967   2050     5668  5971  10144   14495
##  5  1972   2340     6491  8187  12480   16417
##  6  1977   2586     7352  7791  14284   17284
##  7  1982   2482     7507  7434  15618   18555
##  8  1987   2283     7793  7608  17214   20448
##  9  1992   2282     8045  8640  17062   20894
## 10  1997   2379     8889  9834  19077   24024

Tạo biểu đồ động với highchart

Bổ sung đối tượng