Введение в пакет sophisthse

Борис Демешев

2016-06-27

Пакет sophisthse предназначен для скачивания временных рядов с sophist.hse.ru. Пакет можно установить командами:

install.packages("devtools")
devtools::install_github("bdemeshev/sophisthse")

Для новичков в R: Пакеты устанавливаются один раз, и каждый раз для скачанивания рядов выполнять эти команды совершенно ненужно :)

Подключаем пакет в паре с пакетом forecast.

library("sophisthse") # для скачивания данных
library("forecast") # графики временных рядов, ARIMA/ETS модели

Загружаем нужный ряд и смотрим его начало для проверки, что всё загрузилось:

df <- sophisthse("WAG_Y")
head(df)
##      WAG_C_Y WAG_R_Y
## [1,]    58.7  100.00
## [2,]   220.4   92.00
## [3,]   472.4   66.24
## [4,]   790.2   70.21
## [5,]   950.2   73.51
## [6,]  1051.0   63.66

Смотрим описание данных:

info <- sophisthse_metadata(df)
info
## Source: local data frame [2 x 7]
## 
##    tsname           unit                                        fullname
##     <chr>          <chr>                                           <chr>
## 1 WAG_C_Y рублей в месяц Средняя номинальная заработная плата  (WAG_C_Y)
## 2 WAG_R_Y       1993=100             Индекс реальной зарплаты  (WAG_R_Y)
## Variables not shown: methodology <chr>, source <chr>, comment <chr>, freq
##   <dbl>.

Достаём один из двух рядов и строим графики:

WAG_C_Y <- df[, 1]
ggtsdisplay(WAG_C_Y)

Можно заказать данные в формате zoo:

wagez <- sophisthse("WAG_Y", output = "zoo")
head(wagez)
##      WAG_C_Y WAG_R_Y
## 1993    58.7  100.00
## 1994   220.4   92.00
## 1995   472.4   66.24
## 1996   790.2   70.21
## 1997   950.2   73.51
## 1998  1051.0   63.66

Или простого data.frame:

wagez <- sophisthse("GDPVA_Y", output = "data.frame")
head(wagez)
##      T GDPVA_T_Y GDPVA_GD_Y GDPVA_MS_Y GDPVA_NMS_Y GDPVA_FISIM_Y
## 2 1991       1.4        0.8        0.4         0.2           0.0
## 3 1992      19.0        9.4        8.4         1.6          -0.8
## 4 1993     171.5       82.3       59.5        19.9          -5.9
## 5 1994     610.7      285.5      221.3        79.8         -23.8
## 6 1995    1428.5      596.9      591.6       146.6            NA
## 7 1996    2007.8      855.1      777.6       200.7            NA
##   GDPVA_NTX_Y
## 2         0.0
## 3         0.3
## 4        15.6
## 5        47.9
## 6        93.4
## 7       174.4

Можно загрузить несколько одночастотных рядов сразу:

wgpd <- sophisthse(c("WAG_Y", "GDPVA_Y"))
head(wgpd)
##      WAG_C_Y WAG_R_Y GDPVA_T_Y GDPVA_GD_Y GDPVA_MS_Y GDPVA_NMS_Y
## [1,]      NA      NA       1.4        0.8        0.4         0.2
## [2,]      NA      NA      19.0        9.4        8.4         1.6
## [3,]    58.7  100.00     171.5       82.3       59.5        19.9
## [4,]   220.4   92.00     610.7      285.5      221.3        79.8
## [5,]   472.4   66.24    1428.5      596.9      591.6       146.6
## [6,]   790.2   70.21    2007.8      855.1      777.6       200.7
##      GDPVA_FISIM_Y GDPVA_NTX_Y
## [1,]           0.0         0.0
## [2,]          -0.8         0.3
## [3,]          -5.9        15.6
## [4,]         -23.8        47.9
## [5,]            NA        93.4
## [6,]            NA       174.4

Полный список рядов хранится в встроенном наборе данных series_info

head(series_info)
## Source: local data frame [6 x 8]
## 
##      table   tsname  freq     unit
##      <chr>    <chr> <dbl>    <chr>
## 1 POPNUM_Y POPNUM_Y     1  тыс.чел
## 2 POPFER_Y POPFER_Y     1 промилле
## 3 POPMOR_Y POPMOR_Y     1 промилле
## 4 UNEMPL_Y UNEMPL_Y     1  млн.чел
## 5 UNEMPL_Q UNEMPL_Q     4  млн.чел
## 6 UNEMPL_M UNEMPL_M    12  млн.чел
## Variables not shown: fullname <chr>, methodology <chr>, source <chr>,
##   comment <chr>.

Полный список рядов удобно глянуть в Rstudio:

View(series_info)

Список актуальных доступных таблиц можно получить командой:

sophisthse_tables()
## Some table names may not work.
## On June 2016: MPP2 and TOPL_C do not work.
##   [1] "POPNUM_Y"         "POPFER_Y"         "POPMOR_Y"        
##   [4] "UNEMPL_Y"         "UNEMPL_Q"         "UNEMPL_M"        
##   [7] "UNEMPL_Y_SH"      "UNEMPL_Q_SH"      "UNEMPL_M_SH"     
##  [10] "EMPLDEC_Y"        "EMPLDEC_Q"        "EMPLDEC_M"       
##  [13] "GDPVA_EEA_Y"      "GDPVA_Y"          "GDPI_Y"          
##  [16] "GDPS_Y"           "GDPVA_EEA_Y_DIRI" "GDPVA_Y_DIRI"    
##  [19] "GDPS_Y_DIRI"      "GDP_Y_ID"         "GDPEA_Q"         
##  [22] "GDP_Q_I"          "BBR_EA_Y_I"       "BBR_EA_Q_I"      
##  [25] "BBR_EA_M_I"       "IP_EA_Y"          "IP_EA_Q"         
##  [28] "IP_EA_M"          "IP_CEA_Y"         "IP_CEA_Q"        
##  [31] "IP_CEA_M"         "IP_DEA_Y"         "IP_DEA_Q"        
##  [34] "IP_DEA_M"         "IP_EEA_Y"         "IP_EEA_Q"        
##  [37] "IP_EEA_M"         "IND_Y"            "IND_Q_I"         
##  [40] "IND_M_I"          "IND_Y_DIRI"       "IMQ2_C"          
##  [43] "MQEN2"            "MCLP2"            "ECOG2"           
##  [46] "ENGC2"            "MEEP2"            "MMET2"           
##  [49] "OMAQ2"            "IPDC2"            "MFBT2"           
##  [52] "MTP2"             "MWDD2"            "MLPP2"           
##  [55] "MWWD2"            "PPPR2"            "PPRM2"           
##  [58] "CPPNF2"           "CCPM2"            "FARM2"           
##  [61] "MRP2"             "MPP2"             "MONMP2"          
##  [64] "BMPM2"            "FMPEM2"           "MEPM2"           
##  [67] "OMCM2"            "EMAM2"            "RTCEP2"          
##  [70] "MPOI2"            "MPPOI2"           "MVTST2"          
##  [73] "RTLR2"            "MPF2"             "NECM2"           
##  [76] "IEGW2"            "IPCDE2"           "PROM_C"          
##  [79] "ELEKTRO_C"        "TEK_C"            "TOPL_C"          
##  [82] "OILMIN_C"         "OILREF_C"         "GAZ_C"           
##  [85] "UGOL_C"           "CHMET_C"          "CVETMET_C"       
##  [88] "MASH_C"           "CHIM_C"           "LES_C"           
##  [91] "STR_C"            "PISH_C"           "LEG_C"           
##  [94] "MUK_C"            "STEK_C"           "AGR_Y_DIRI"      
##  [97] "AGR_Q_I"          "AGR_M_I"          "CNSTR_Y"         
## [100] "CNSTR_Q"          "CNSTR_M"          "CONSTR_Y_DIRI"   
## [103] "CONSTR_Q_I"       "CONSTR_M_I"       "CONSTR_Y_NAT"    
## [106] "CONSTR_Q_NAT"     "CONSTR_M_NAT"     "TRP_Y_CARG"      
## [109] "TRP_Q_CARG"       "TRP_M_CARG"       "TRP_Y_PASS_DIRI" 
## [112] "TRP_Q_PASS_DIRI"  "TRP_M_PASS_DIRI"  "RTRD_Y"          
## [115] "RTRD_Q_I"         "RTRD_M_I"         "RTRD_Y_DIRI"     
## [118] "WAG_Y"            "WAG_Q"            "WAG_M"           
## [121] "HHI_Y_DIRI"       "HHI_Q_I"          "HHI_M_I"         
## [124] "INVFC_Y"          "INVFC_Q"          "INVFC_M"         
## [127] "INVFC_Y_DIRI"     "INVFC_Q_I"        "INVFC_M_I"       
## [130] "INVFOR_Y"         "INVFOR_Q"         "CPI_Y_CHI"       
## [133] "CPI_Q_CHI"        "CPI_M_CHI"        "PPI_EA_Y"        
## [136] "PPI_EA_Q"         "PPI_EA_M"         "PPI_Y_CHI"       
## [139] "PPI_Q_CHI"        "PPI_M_CHI"        "CONI_Y_CHI"      
## [142] "CONI_Q_CHI"       "CONI_M_CHI"       "CTI_Y_CHI"       
## [145] "CTI_Q_CHI"        "CTI_M_CHI"        "M_Y"             
## [148] "M_Q"              "M_M"              "GOV_Y"           
## [151] "GOV_Q"            "GOV_M"            "FINMAR_Y"        
## [154] "FINMAR_Q"         "FINMAR_M"         "FINENT_Y"        
## [157] "FINENT_Q"         "FINENT_M"         "EX_Y"            
## [160] "EX_Q"             "EX_M"             "IM_Y"            
## [163] "IM_Q"             "IM_M"