Розпарсити сайт Мінфіна і зібрати зарплати по областях:

library(dplyr)
library(tidyr)
library(lubridate)
library(rvest)
library(plotly)

page_link <- "http://index.minfin.com.ua/index/average/?"

# будемо збирати за ці роки, бо більш на сайті немає здаєтсья
year_list <- 2010:2017

Запускаємо цикл по роках

all_salary <- purrr::map_df(
  .x = year_list,
  .f = ~{
    page_link_ <- paste0(page_link, .x)
    page_data <- page_link_ %>% 
      xml2::read_html() %>% 
      rvest::html_nodes("table.line") %>% 
      rvest::html_table()
    result <- dplyr::bind_rows(
      page_data[[1]] %>% 
        dplyr::rename_all(dplyr::funs(c("region_name", 1:6, "delete"))) %>% 
        dplyr::select(-delete) %>% 
        dplyr::slice(-1) %>% 
        tidyr::gather(
          key   = date_for_report_month,
          value = salary,
          -region_name
        ) %>% 
        dplyr::mutate(
          salary = as.numeric(salary),
          date_for_report_year = .x,
          date_for_report = lubridate::ymd(
            paste(date_for_report_year, date_for_report_month, "01")
          )
        )
      ,
      page_data[[2]] %>% 
        dplyr::rename_all(dplyr::funs(c("region_name", 7:12, "delete"))) %>% 
        dplyr::select(-delete) %>% 
        dplyr::slice(-1) %>% 
        tidyr::gather(
          key   = date_for_report_month,
          value = salary,
          -region_name
        ) %>% 
        dplyr::mutate(
          salary = as.numeric(salary),
          date_for_report_year = .x,
          date_for_report = lubridate::ymd(
            paste(date_for_report_year, date_for_report_month, "01")
          )
        ) 
    ) %>% 
      dplyr::arrange(region_name, date_for_report)
    return(result)
  }
)

all_salary
## # A tibble: 2,616 x 5
##    region_name date_for_report_month salary date_for_report_year
##          <chr>                 <chr>  <dbl>                <int>
##  1   Винницкая                     1   1501                 2010
##  2   Винницкая                     2   1531                 2010
##  3   Винницкая                     3   1594                 2010
##  4   Винницкая                     4   1631                 2010
##  5   Винницкая                     5   1753                 2010
##  6   Винницкая                     6   1915                 2010
##  7   Винницкая                     7   1911                 2010
##  8   Винницкая                     8   1828                 2010
##  9   Винницкая                     9   1942                 2010
## 10   Винницкая                    10   1881                 2010
## # ... with 2,606 more rows, and 1 more variables: date_for_report <date>

Побудуємо графік по Тернопільській області:

all_salary %>% 
  dplyr::arrange(region_name, date_for_report) %>% 
  tidyr::drop_na() %>% 
  dplyr::filter(region_name == "Тернопольская") %>% 
  plotly::plot_ly() %>% 
  plotly::add_lines(x = ~date_for_report, y = ~salary)

Побудуємо графік по Україні:

all_salary %>% 
  dplyr::arrange(region_name, date_for_report) %>% 
  tidyr::drop_na() %>% 
  dplyr::filter(region_name == "Украина") %>% 
  plotly::plot_ly() %>% 
  plotly::add_lines(x = ~date_for_report, y = ~salary)