{"id":301897,"date":"2020-04-15T09:00:27","date_gmt":"2020-04-15T09:00:27","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=301897"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=301897","title":{"rendered":"COVID-19: \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/497340\/\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f23\/ace\/620\/f23ace6203f6d13d9c21bd23b03d7872.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!<\/p>\n<p>  <\/p>\n<p>\u0413\u0434\u0435-\u0442\u043e \u043c\u0435\u0441\u044f\u0446 \u043d\u0430\u0437\u0430\u0434 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0447\u0443\u0432\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0439\u0441\u0442\u0432\u0430. \u042f \u0441\u0442\u0430\u043b \u043f\u043b\u043e\u0445\u043e \u0435\u0441\u0442\u044c, \u0435\u0449\u0435 \u0445\u0443\u0436\u0435 \u0441\u043f\u0430\u0442\u044c \u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c-\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c-\u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0442\u043e\u043d\u043d\u0443 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439 \u043e \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438. \u0418\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043d\u0438\u0445 \u043a\u043e\u0440\u043e\u043d\u0430\u0432\u0438\u0440\u0443\u0441 \u0442\u043e \u043b\u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u043b, \u0442\u043e \u043b\u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u043b \u043d\u0430\u0448\u0443 \u043f\u043b\u0430\u043d\u0435\u0442\u0443, \u044f\u0432\u043b\u044f\u043b\u0441\u044f \u0442\u043e \u043b\u0438 \u0437\u0430\u0433\u043e\u0432\u043e\u0440\u043e\u043c <del>\u043c\u0430\u0441\u043e\u043d\u043e\u0432<\/del> \u043c\u0438\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432, \u0430 \u0442\u043e \u043b\u0438 \u043c\u0435\u0441\u0442\u044c\u044e \u043f\u0430\u043d\u0433\u043e\u043b\u0438\u043d\u0430, \u0432\u0438\u0440\u0443\u0441 \u0442\u043e \u043b\u0438 \u0443\u0433\u0440\u043e\u0436\u0430\u043b \u0432\u0441\u0435\u043c \u0438 \u0441\u0440\u0430\u0437\u0443, \u0430 \u0442\u043e \u043b\u0438 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u043c\u043d\u0435 \u0438 \u043c\u043e\u0435\u043c\u0443 \u043a\u043e\u0442\u0443\u2026 <\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0442\u043d\u0438 \u0441\u0442\u0430\u0442\u0435\u0439, \u043f\u043e\u0441\u0442\u043e\u0432 \u0432 \u0441\u043e\u0446\u0441\u0435\u0442\u044f\u0445, youtube-telegram-instagram-tik-tok (\u0434\u0430 \u0443\u0436 \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435) \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0440\u0430\u0437\u043d\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 (\u0438 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438) \u043d\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0435\u043d\u044f \u043d\u0438 \u043a \u0447\u0435\u043c\u0443, \u043a\u0440\u043e\u043c\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/496998\/\">\u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043c\u043e\u0437\u0433\u0430<\/a> \u0438 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u043c\u0443 \u0447\u0443\u0432\u0441\u0442\u0432\u0443 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0439\u0441\u0442\u0432\u0430.<\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0432 \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c \u044f <del>\u043a\u0443\u043f\u0438\u043b \u0433\u0440\u0435\u0447\u043a\u0438<\/del> \u0440\u0435\u0448\u0438\u043b \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043a\u043e\u043d\u0447\u0438\u0442\u044c. \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u0440\u0435\u0435!<\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p>\u041c\u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u0431\u044b\u043b \u043f\u043b\u0430\u043d \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b\u0439, \u0447\u0435\u043c \u0442\u043e\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u0434\u043e \u044d\u0442\u043e\u0433\u043e.<br \/>  \u0412\u0441\u0435 \u0447\u0442\u043e \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u044d\u0442\u043e \u043d\u0430\u0439\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435. \u0414\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u044b\u0435, \u043f\u043e\u043b\u043d\u044b\u0435, \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435. <\/p>\n<p>  <\/p>\n<p>\u041a \u043c\u043e\u0435\u0439 \u0440\u0430\u0434\u043e\u0441\u0442\u0438 \u044d\u0442\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u0447\u0435, \u0447\u0435\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u043e\u0441\u044c \u043c\u043d\u0435, \u043a\u043e\u0433\u0434\u0430 \u044f \u043e\u0441\u043e\u0437\u043d\u0430\u043b \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0439 \u043f\u043b\u0430\u043d: <\/p>\n<p>  <\/p>\n<ul>\n<li>[+] \u043d\u0430\u0439\u0442\u0438 \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u044b\u0435, \u043f\u043e\u043b\u043d\u044b\u0435, \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 COVID-19 \u0432 \u043c\u0430\u0448\u0438\u043d\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435, [1, 3]<\/li>\n<li>[+] \u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0438 \u0441\u043b\u043e\u0432\u0430 (\u043f\u043e\u0447\u0442\u0438) \u043f\u0440\u043e COVID-19, \u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u00ab\u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430\u00bb \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u0438\u0440\u0443\u0441\u043d\u044b\u0445 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u0439,<\/li>\n<li>[+] \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f\u0445, \u0433\u0434\u0435 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0440\u043e\u043d\u0430\u0432\u0438\u0440\u0443\u0441\u0430 [2],<\/li>\n<li>[+] \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0430\u0440\u0443 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0432\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0431\u0438\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u044b,<\/li>\n<li>[-] \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0441\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0445 \u043a \u043f\u043e\u0441\u0442\u0430\u043c \u043f\u043e COVID-19 \u0432 \u0441\u043e\u0446\u0441\u0435\u0442\u044f\u0445,<\/li>\n<li>[+] \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0432 github \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043c\u0438\u0440\u0443 [3].<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041f\u043e \u043f\u0440\u043e\u0448\u0435\u0441\u0442\u0432\u0438\u0438 \u043c\u0435\u0441\u044f\u0446\u0430 \u0441\u043e \u0434\u043d\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u043d\u0430 \u044f \u0432\u044b\u044f\u0432\u0438\u043b \u0443 \u043d\u0435\u0433\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u0438\u043d \u043d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u043b\u044e\u0441 \u2013 \u043e\u043d \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u044b\u043c. \u041d\u043e \u044d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u043d\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0430 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u043d\u0430.<\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u043a\u043e\u0440\u0435 \u044f \u0437\u0430\u043d\u044f\u043b\u0441\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438. \u041d\u0443 \u043a\u0430\u043a \u0437\u0430\u043d\u044f\u043b\u0441\u044f \u2013 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u2013 \u0441\u0442\u0430\u043b\u043e \u044f\u0441\u043d\u043e, \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043c\u0435\u043d\u044f \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u043f\u043e \u0440\u044f\u0434\u0443 \u043f\u0440\u0438\u0447\u0438\u043d, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0438\u0436\u0435.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 COVID-19:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">#' #' Load COVID-19 spread: infected, recovered, and fatal cases #' Source: https:\/\/github.com\/CSSEGISandData\/COVID-19\/tree\/master\/csse_covid_19_data\/csse_covid_19_time_series #' load_covid_spread &lt;- function() {   require(dplyr)   require(data.table)   require(purrr)   require(tidyr)    load_time_series &lt;- function(.case_type) {      path_pattern &lt;- &quot;https:\/\/raw.githubusercontent.com\/CSSEGISandData\/COVID-19\/master\/csse_covid_19_data\/csse_covid_19_time_series\/time_series_covid19_%s_global.csv&quot;      fread(sprintf(path_pattern, .case_type)) %&gt;%        rename(country = `Country\/Region`) %&gt;%        select(-c(`Province\/State`, Lat, Long)) %&gt;%        group_by(country) %&gt;%        summarise_if(is.numeric, sum) %&gt;%        ungroup %&gt;%        gather(key = &quot;date&quot;, value = &quot;n&quot;, -country) %&gt;%        mutate(date = mdy(date))   }    dt &lt;- load_time_series(&quot;confirmed&quot;) %&gt;% rename(confirmed_n = n) %&gt;%      inner_join(       load_time_series(&quot;recovered&quot;) %&gt;% rename(recovered_n = n),       by = c(&quot;country&quot;, &quot;date&quot;)     ) %&gt;%      inner_join(       load_time_series(&quot;deaths&quot;) %&gt;% rename(deaths_n = n),       by = c(&quot;country&quot;, &quot;date&quot;)     )     stopifnot(nrow(dt) &gt; 0)    return(dt) }  spread_raw &lt;- load_covid_spread() spread_raw %&gt;% sample_n(10)<\/code><\/pre>\n<p>  <\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441\u0442\u0440\u0430\u043d:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">#' #' Load countries stats #' Source: https:\/\/ods.ai\/competitions\/sberbank-covid19-forecast #' load_countries_stats &lt;- function() {   require(dplyr)   require(magrittr)    dt &lt;- fread(&quot;https:\/\/raw.githubusercontent.com\/codez0mb1e\/covid-2019\/master\/data\/countries.csv&quot;)    dt %&lt;&gt;%     select(-c(iso_alpha2, iso_numeric, name, official_name))    stopifnot(nrow(dt) &gt; 0)    return(dt) }  countries_raw &lt;- load_countries_stats() countries_raw %&gt;% sample_n(10)<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0440\u0435\u0434\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">data &lt;- spread_raw %&gt;%    # add country population   inner_join(     countries_raw %&gt;% transmute(ccse_name, country_iso = iso_alpha3, population) %&gt;% filter(!is.na(country_iso)),      by = c(&quot;country&quot; = &quot;ccse_name&quot;)   ) %&gt;%    # calculate active cases   mutate(     active_n = confirmed_n - recovered_n - deaths_n   ) %&gt;%    # calculate cases per 1M population   mutate_at(     vars(ends_with(&quot;_n&quot;)),     list(&quot;per_1M&quot; = ~ .\/population*1e6)   )  ## Calculte number of days since... get_date_since &lt;- function(dt, .case_type, .n) {   dt %&gt;%      group_by(country) %&gt;%      filter_at(vars(.case_type), ~ . &gt; .n) %&gt;%      summarise(since_date = min(date)) }  data %&lt;&gt;%    inner_join(     data %&gt;% get_date_since(&quot;confirmed_n&quot;, 0) %&gt;% rename(since_1st_confirmed_date = since_date),     by = &quot;country&quot;   ) %&gt;%    inner_join(     data %&gt;% get_date_since(&quot;confirmed_n_per_1M&quot;, 1) %&gt;% rename(since_1_confirmed_per_1M_date = since_date),     by = &quot;country&quot;   ) %&gt;%    inner_join(     data %&gt;% get_date_since(&quot;deaths_n_per_1M&quot;, .1) %&gt;% rename(since_dot1_deaths_per_1M_date = since_date),     by = &quot;country&quot;   ) %&gt;%    mutate_at(     vars(starts_with(&quot;since_&quot;)),      list(&quot;n_days&quot; = ~ difftime(date, ., units = &quot;days&quot;) %&gt;% as.numeric)   ) %&gt;%    mutate_at(     vars(ends_with(&quot;n_days&quot;)),     list(~ if_else(. &gt; 0, ., NA_real_))   )<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">theme_set(theme_minimal())  lab_caption &lt;- paste0(   &quot;Data source: Novel Coronavirus (COVID-19) Cases provided by Johns Hopkins University Center for Systems Science. \\n&quot;,   sprintf(&quot;Last updated: %s. &quot;, format(max(data$date), '%d %B, %Y')),   &quot;Source code: github.com\/codez0mb1e\/covid-2019&quot; )   filter_countries &lt;- function(dt) dt %&gt;% filter(country_iso %in% c(&quot;KOR&quot;, &quot;ITA&quot;, &quot;RUS&quot;, &quot;CHN&quot;, &quot;USA&quot;))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<h2 id=\"absolyutnye-chisla\">\u0410\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430<\/h2>\n<p>  <\/p>\n<p><em>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430<\/em>: \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c.<\/p>\n<p>  <\/p>\n<p><em>\u041c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f<\/em>: \u0435\u0441\u043b\u0438 \u0431\u0440\u0430\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0445, \u0442\u043e \u0434\u0435\u0440\u0435\u0432\u043d\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0437 100 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0437\u0430\u0431\u043e\u043b\u0435\u043b\u043e 50, \u0432 \u0441\u043e\u0442\u043d\u0438 \u0440\u0430\u0437 \u043b\u0443\u0447\u0448\u0435 \u0420\u0438\u043c\u0430 (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443) \u0432 \u0441\u043c\u044b\u0441\u043b\u0435 \u044d\u043f\u0438\u0434\u0435\u043c\u0438\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0431\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438.<\/p>\n<p>  <\/p>\n<p><em>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/em>: \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0434\u043e\u043b\u044e \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u044b (\u0433\u043e\u0440\u043e\u0434\u0430), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043c\u0435\u0435\u0442 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u0435.<br \/>  \u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442: \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">ggplot(data %&gt;% filter_countries, aes(x = date)) +   geom_col(aes(y = confirmed_n), alpha = .9) +    scale_x_date(date_labels = &quot;%d %b&quot;, date_breaks = &quot;7 days&quot;) +    facet_grid(country ~ .) +    labs(x = &quot;&quot;, y = &quot;# of cases&quot;,         title = &quot;COVID-19 Spread (over time)&quot;,         caption = lab_caption) +    theme(plot.caption = element_text(size = 8))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d71\/8fb\/0a4\/d718fb0a4410c0996a74160b08ac9ca8.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u0412 \u0441\u0442\u0440\u0430\u043d\u0430\u0445, \u0433\u0434\u0435 \u043d\u0435 \u043d\u0430\u0431\u0440\u0430\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0445 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0421\u0428\u0410, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e: \u043d\u0438 \u0440\u043e\u0441\u0442\u0430, \u043d\u0438 \u043f\u0430\u0434\u0435\u043d\u0438\u044f, \u043d\u0438 \u0443\u0436 \u0432 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u043f\u0435\u0440\u0435\u043b\u043e\u043c\u043d\u044b\u0445 \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u044b. \u041f\u0440\u043e\u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0445, \u0432 \u043d\u0430\u0434\u0435\u0436\u0434\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0447\u0442\u043e-\u0442\u043e, \u043d\u043e \u0441\u0442\u0430\u043d\u0435\u0442, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u0443 \u0432\u0441\u0435\u0445 \u043e\u043a\u043e\u043b\u043e 100K \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u0439.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">ggplot(data %&gt;% filter_countries, aes(x = date)) +   geom_col(aes(y = confirmed_n), alpha = .9) +    scale_x_date(date_labels = &quot;%d %b&quot;, date_breaks = &quot;7 days&quot;) +   scale_y_log10() +    facet_grid(country ~ .) +    labs(x = &quot;&quot;, y = &quot;# of cases&quot;,         title = &quot;COVID-19 Spread (over time)&quot;,         caption = lab_caption) +    theme(plot.caption = element_text(size = 8))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/a38\/6a9\/e69\/a386a9e6921dabe427210272b7714493.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0437\u0430\u0431\u0435\u043b\u0435\u0432\u0448\u0438\u0445 \u043d\u0430 1 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">ggplot(data  %&gt;% filter_countries, aes(x = date)) +   geom_col(aes(y = confirmed_n_per_1M), alpha = .9) +    scale_x_date(date_labels = &quot;%d %b&quot;, date_breaks = &quot;7 days&quot;) +    facet_grid(country ~ .) +    labs(x = &quot;&quot;, y = &quot;# of cases per 1M&quot;,         subtitle = &quot;Infected cases per 1 million popultation&quot;,        title = &quot;COVID-19 Spread (over time)&quot;,         caption = lab_caption) +    theme(plot.caption = element_text(size = 8))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0e1\/56d\/2c3\/0e156d2c38014d7d67411286f4e52d06.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u0418 \u0432 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0448\u043a\u0430\u043b\u0435:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">ggplot(data  %&gt;% filter_countries, aes(x = date)) +   geom_col(aes(y = confirmed_n_per_1M), alpha = .9) +    scale_x_date(date_labels = &quot;%d %b&quot;, date_breaks = &quot;7 days&quot;) +   scale_y_log10() +    facet_grid(country ~ .) +    labs(x = &quot;&quot;, y = &quot;# of cases per 1M&quot;,         subtitle = &quot;Infected cases per 1 million popultation&quot;,        title = &quot;COVID-19 Spread (over time)&quot;,         caption = lab_caption) +    theme(plot.caption = element_text(size = 8))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/97d\/1f8\/50e\/97d1f850e6ef8ec5deb1d233dac92eed.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u042f \u0434\u0443\u043c\u0430\u044e, \u043d\u0435 \u043d\u0430\u0434\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0443\u0447\u0448\u0435 \u0441\u0442\u0430\u043b\u0438 \u0432\u0438\u0434\u043d\u044b \u00ab\u0442\u0438\u0445\u0438\u0435\u00bb \u0433\u0430\u0432\u0430\u043d\u0438 \u0438 \u0441\u0442\u0440\u0430\u043d\u044b, \u0433\u0434\u0435 \u0441 \u044d\u043f\u0438\u0434\u0435\u043c\u0438\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0431\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043d\u0435 \u0442\u0430\u043a \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e. <\/p>\n<p>  <\/p>\n<h2 id=\"tochka-otscheta\">\u0422\u043e\u0447\u043a\u0430 \u043e\u0442\u0441\u0447\u0435\u0442\u0430<\/h2>\n<p>  <\/p>\n<p><em>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430<\/em>: \u043f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u044d\u043f\u0438\u0434\u0435\u043c\u0438\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0431\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u0443 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432\u0438\u0440\u0443\u0441\u0430 \u0432 \u0441\u0442\u0440\u0430\u043d\u0435 (\u0438\u043b\u0438 \u0435\u0449\u0435 \u0445\u0443\u0436\u0435 \u0432 \u041a\u0438\u0442\u0430\u0435) \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0442\u0441\u0447\u0435\u0442\u0430.<\/p>\n<p>  <\/p>\n<p><em>\u041c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f<\/em>: \u044d\u0444\u0444\u0435\u043a\u0442 \u043d\u0438\u0437\u043a\u043e\u0439 \u0431\u0430\u0437\u044b (\u0431\u044b\u043b \u043e\u0434\u0438\u043d \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0439, \u0441\u0442\u0430\u043b\u043e 3, \u0440\u043e\u0441\u0442 +200%); \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u044d\u043f\u0438\u0434\u0435\u043c\u0438\u044f \u0432 \u0441\u0442\u0440\u0430\u043d\u0435 \u043f\u0440\u0438\u043d\u044f\u043b\u0430 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440 \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438.<\/p>\n<p>  <\/p>\n<p><em>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/em>: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u0430\u0442\u044b, \u043a\u043e\u0433\u0434\u0430 &gt;1 \u0438\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u044b, &gt;0.1 \u043f\u043e\u0433\u0438\u0431\u0448\u0435\u0433\u043e \u043d\u0430 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0442\u043e\u0447\u043a\u0438 \u043e\u0442\u0447\u0435\u0442\u0430.<\/p>\n<p>  <\/p>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. <\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">ggplot(   data %&gt;% filter_countries %&gt;% filter(!is.na(since_1st_confirmed_date_n_days)),    aes(x = since_1st_confirmed_date_n_days)   ) +    geom_col(aes(y = confirmed_n), alpha = .9) +   scale_y_log10() +    facet_grid(country ~ .) +    labs(x = &quot;# of days since 1st infected case&quot;, y = &quot;# of cases&quot;,         subtitle = &quot;Infected cases since 1st infected case&quot;,        title = &quot;COVID-19 Spread&quot;,         caption = lab_caption) +    theme(plot.caption = element_text(size = 8))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/7eb\/0ff\/2ba\/7eb0ff2ba49ad52b657e9ef0399919ab.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u0418 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0445 \u043d\u0430 1 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430, \u043a\u043e\u0433\u0434\u0430 \u0443 \u043d\u0430\u0441 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0443\u043c 1 \u0438\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f. <\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">ggplot(   data %&gt;% filter_countries %&gt;% filter(!is.na(since_1_confirmed_per_1M_date_n_days)),    aes(x = since_1_confirmed_per_1M_date_n_days)   ) +    geom_col(aes(y = confirmed_n_per_1M), alpha = .9) +    scale_y_log10() +   xlim(c(0, 55)) +    facet_grid(country ~ .) +    labs(x = &quot;# of days since 1 infected cases per 1M&quot;, y = &quot;# of cases per 1M&quot;,         title = &quot;COVID-19 Spread&quot;,         subtitle = &quot;Since 1 infected cases per 1 million popultation&quot;,        caption = lab_caption) +    theme(plot.caption = element_text(size = 8))<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b94\/288\/4d6\/b942884d681ab9fe47bb379cce396222.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u041a\u0438\u0442\u0430\u0439 \u0438 \u042e\u0436\u043d\u0430\u044f \u041a\u043e\u0440\u0435\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0441\u0435\u043b\u0438, \u0432\u0438\u0434\u0435\u043d \u0440\u043e\u0441\u0442 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0445 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0438 \u0442\u0440\u0435\u043d\u0434\u044b \u043d\u0430 \u00ab\u0443\u0441\u043f\u043e\u043a\u043e\u0435\u043d\u0438\u0435\u00bb \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0432 \u0418\u0442\u0430\u043b\u0438\u0438 \u0438 \u0421\u0428\u0410.<\/p>\n<p>  <\/p>\n<h2 id=\"kogo-schitaem\">\u041a\u043e\u0433\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u043c<\/h2>\n<p>  <\/p>\n<p><em>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430<\/em>: \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u00ab\u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u0441\u044f\u00bb \u0441\u0442\u0440\u043e\u0438\u043c \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  <\/p>\n<p><em>\u041c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f<\/em>: \u0432\u044b\u0437\u0434\u043e\u0440\u043e\u0432\u0435\u0432\u0448\u0438\u0435 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u044b \u0438 \u0443\u043c\u0435\u0440\u0448\u0438\u0435 \u0443\u0436\u0435 \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435 \u0437\u0430\u0440\u0430\u0437\u044f\u0442, \u043d\u0438\u043a\u0442\u043e \u0438\u0437-\u0437\u0430 \u043d\u0438\u0445 \u0443\u0436\u0435 \u043d\u0435 \u043b\u044f\u0436\u0435\u0442 \u0432 \u0431\u043e\u043b\u044c\u043d\u0438\u0446\u0443.<\/p>\n<p>  <\/p>\n<p><em>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/em>: \u0441\u0442\u0440\u043e\u0438\u043c \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u044b \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 (\u0438\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 \u043c\u0438\u043d\u0443\u0441 \u0441\u0443\u043c\u043c\u0430 \u0441\u043c\u0435\u0440\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0438 \u0432\u044b\u043b\u0435\u0447\u0435\u043d\u043d\u044b\u0445).<\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a, \u0433\u0434\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u043c \u0441\u043b\u0443\u0447\u0430\u0438 \u0437\u0430\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0437\u0434\u043e\u0440\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u043c\u0435\u0440\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 (\u0441\u0438\u043d\u044f\u044f \u043b\u0438\u043d\u0438\u044f).<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">plot_data &lt;- data %&gt;%    filter_countries %&gt;%    filter(!is.na(since_1_confirmed_per_1M_date_n_days)) %&gt;%    mutate(     confirmed_n_per_1M = confirmed_n_per_1M,      recovered_n_per_1M = -recovered_n_per_1M,     deaths_n_per_1M = -deaths_n_per_1M   ) %&gt;%    select(     country, since_1_confirmed_per_1M_date_n_days, ends_with(&quot;_n_per_1M&quot;)   ) %&gt;%    gather(     key = &quot;case_state&quot;, value = &quot;n_per_1M&quot;, -c(country, since_1_confirmed_per_1M_date_n_days, active_n_per_1M)   )  ggplot(plot_data, aes(x = since_1_confirmed_per_1M_date_n_days)) +    geom_col(aes(y = n_per_1M, fill = case_state), alpha = .9) +   geom_line(aes(y = active_n_per_1M), color = &quot;#0080FF&quot;, size = .25) +    scale_fill_manual(element_blank(),                      labels = c(&quot;confirmed_n_per_1M&quot; = &quot;Infected cases&quot;, &quot;recovered_n_per_1M&quot; = &quot;Recovered cases&quot;, &quot;deaths_n_per_1M&quot; = &quot;Fatal cases&quot;),                     values = c(&quot;confirmed_n_per_1M&quot; = &quot;grey&quot;, &quot;recovered_n_per_1M&quot; = &quot;gold&quot;, &quot;deaths_n_per_1M&quot; = &quot;black&quot;)) +    xlim(c(0, 55)) +    facet_grid(country ~ ., scales = &quot;free&quot;) +    labs(x = &quot;# of days since 1 infected cases per 1M&quot;, y = &quot;# of cases per 1M&quot;,         title = &quot;COVID-19 Spread by Countries&quot;,         subtitle = &quot;Active cases trend since 1 infected cases per 1 million popultation. \\nBlue line - infected cases minus recovered and fatal.\\nNegative values indicate recovered and fatal cases.&quot;,         caption = lab_caption) +    theme(     legend.position = &quot;top&quot;,     plot.caption = element_text(size = 8)   )<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/028\/357\/144\/02835714416dd79a3125ecd3d648c694.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u0418\u0437 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0436\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u044d\u043f\u0438\u0434\u0435\u043c\u0438\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0431\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u043d\u0435.<\/p>\n<p>  <\/p>\n<h2 id=\"vse-eto-bylo-davno\">\u0412\u0441\u0435 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u0430\u0432\u043d\u043e<\/h2>\n<p>  <\/p>\n<p><em>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430<\/em>: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043b\u0438\u0448\u044c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u043a\u0442\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u0437\u0430\u0434 (\u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u043a\u043e\u043b\u043e 10 \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434 [\u044f \u043d\u0435 \u0437\u043d\u0430\u044e, \u043a\u0430\u043a \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u044d\u0442\u0443 \u0446\u0438\u0444\u0440\u0443]).<\/p>\n<p>  <\/p>\n<p><em>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/em>: \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f; \u043f\u043e\u0438\u0441\u043a \u0438\u043d\u0441\u0430\u0439\u0442\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u0434\u0435\u043d\u044c \u043a\u0435\u0439\u0441\u043e\u0432 \u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0445 \u0432 \u044d\u0442\u043e\u0442 \u0434\u0435\u043d\u044c \u0442\u0435\u0441\u0442\u043e\u0432). \u041f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442.<\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u0432\u0442\u043e\u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 ARIMA \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u0432\u043f\u0435\u0440\u0435\u0434:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ARIMA<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">forecast_cases &lt;- function(.country, .after_date, .forecast_horizont, .fun, ...) {    dt &lt;- data %&gt;%      # filter rows and cols     filter(       country == .country &amp;        date &lt; .after_date     ) %&gt;%     # convert to time-series     arrange(date) %&gt;%      select(active_n_per_1M)    dt %&gt;%       ts(frequency = 7) %&gt;%      # ARIMA model     .fun(...) %&gt;%      # forecast     forecast(h = .forecast_horizont) }  forecast_horizont &lt;- 7 after_date &lt;- max(data$date) + days()  countries_list &lt;- c(&quot;Belgium&quot;, &quot;France&quot;, &quot;Italy&quot;, &quot;Netherlands&quot;, &quot;Norway&quot;, &quot;Portugal&quot;, &quot;Spain&quot;, &quot;Switzerland&quot;, &quot;US&quot;, &quot;Russia&quot;, &quot;China&quot;, &quot;Korea, South&quot;)  pred &lt;- countries_list  %&gt;%    map_dfr(     function(.x) {        m &lt;- forecast_cases(.x, after_date, forecast_horizont, auto.arima)        n_days_max &lt;- max(data[data$country == .x, ]$since_1_confirmed_per_1M_date_n_days, na.rm = T)        tibble(         country = rep(.x, forecast_horizont),         since_1_confirmed_per_1M_date_n_days = seq(n_days_max + 1, n_days_max + forecast_horizont, by = 1),         pred = m$mean %&gt;% as.numeric %&gt;% round %&gt;% as.integer,         data_type = &quot;Forecast&quot;       )     }   )  plot_data &lt;- data %&gt;%    filter(country %in% countries_list) %&gt;%    transmute(     country, active_n_per_1M, since_1_confirmed_per_1M_date_n_days,      data_type = &quot;Historical data&quot;   ) %&gt;%    bind_rows(     pred %&gt;% rename(active_n_per_1M = pred)   ) %&gt;%    mutate(     double_every_14d = (1 + 1\/14)^since_1_confirmed_per_1M_date_n_days, # double every 2 weeks     double_every_7d = (1 + 1\/7)^since_1_confirmed_per_1M_date_n_days, # double every week     double_every_3d = (1 + 1\/3)^since_1_confirmed_per_1M_date_n_days, # double every 3 days     double_every_2d = (1 + 1\/2)^since_1_confirmed_per_1M_date_n_days # double every 2 days   )  active_n_per_1M_last &lt;- plot_data %&gt;%    group_by(country) %&gt;%    arrange(desc(since_1_confirmed_per_1M_date_n_days)) %&gt;%    filter(row_number() == 1) %&gt;%    ungroup  plot_data %&lt;&gt;%    left_join(     active_n_per_1M_last %&gt;% transmute(country, active_n_per_1M_last = active_n_per_1M, since_1_confirmed_per_1M_date_n_days),     by = c(&quot;country&quot;, &quot;since_1_confirmed_per_1M_date_n_days&quot;)   )<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">ggplot(plot_data, aes(x = since_1_confirmed_per_1M_date_n_days)) +    geom_line(aes(y = double_every_7d), linetype = &quot;dotted&quot;, color = &quot;red&quot;, alpha = .65) +   geom_line(aes(y = double_every_3d), linetype = &quot;dotted&quot;, color = &quot;red&quot;, alpha = .75) +    geom_line(aes(y = double_every_2d), linetype = &quot;dotted&quot;, color = &quot;red&quot;, alpha = .85) +     geom_line(aes(y = active_n_per_1M, color = country, linetype = data_type), show.legend = T) +   geom_text(aes(y = active_n_per_1M_last + 20, label = country, color = country),              hjust = 0.5, vjust = 0, check_overlap = T, show.legend = F, fontface = &quot;bold&quot;, size = 3.6) +    annotate(geom = &quot;text&quot;, label = &quot;Cases double \\n every 2 days&quot;, x = 17, y = 1550, vjust = 0, size = 3.1) +   annotate(geom = &quot;text&quot;, label = &quot;...every 3 days&quot;, x = 25, y = 1800, vjust = 0, size = 3.1) +   annotate(geom = &quot;text&quot;, label = &quot;...every week&quot;, x = 50, y = 1500, vjust = 0, size = 3.1) +    scale_linetype_manual(values = c(&quot;longdash&quot;, &quot;solid&quot;)) +    xlim(c(10, 55)) +   ylim(c(0, max(plot_data$active_n_per_1M))) +    labs(x = &quot;# of days since 1 infected cases per 1M&quot;, y = &quot;# of cases per 1M&quot;,         title = &quot;COVID-19 Spread by Countries&quot;,         subtitle = &quot;Active cases trend since 1 infected cases per 1 million popultation.&quot;,         caption = lab_caption) +    theme(     legend.position = &quot;bottom&quot;,     legend.title = element_blank(),     plot.caption = element_text(size = 8)   )<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/98d\/104\/a6f\/98d104a6f0cb25f4ea943602f7e0f64f.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u043b\u043e\u043c \u0432 \u0431\u043e\u0440\u044c\u0431\u0435 \u0441 COVID-19 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0428\u0432\u0435\u0439\u0446\u0430\u0440\u0438\u044f \u0438 \u0411\u0435\u043b\u044c\u0433\u0438\u044f, \u0432 \u041f\u043e\u0440\u0442\u0443\u0433\u0430\u043b\u0438\u0438 \u0434\u0435\u043b\u0430 \u043e\u0431\u0441\u0442\u043e\u044f\u0442 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u0432 \u0421\u0428\u0410, \u0443 \u0420\u043e\u0441\u0441\u0438\u0438 \u0435\u0441\u0442\u044c \u043f\u043b\u043e\u0445\u043e\u0439 \u0448\u0430\u043d\u0441 \u0440\u0430\u0441\u0442\u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043c\u043d\u043e\u0433\u0438\u0435 \u0435\u0432\u0440\u043e\u043f\u0435\u0439\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435.<\/p>\n<p>  <\/p>\n<h2 id=\"zaklyuchenie\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  <\/p>\n<p>\u041d\u043e \u0443\u043c\u0430\u043b\u044f\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0445 \u0432\u0435\u043b\u0438\u0447\u0438\u043d \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u0430\u0442 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445. \u041d\u043e \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0448\u0438\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0434\u0430\u0442\u044b \u043e\u0442\u0441\u0447\u0435\u0442\u0430, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e\u0439.<\/p>\n<p>  <\/p>\n<p><em>\u0411\u0435\u0437 \u0443\u0447\u0435\u0442\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0446\u0438\u0438<\/em> \u0440\u0435\u0433\u0438\u043e\u043d\u0430 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u0438\u0434\u0435\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0447\u0430\u0433\u0438 \u0432\u0441\u043f\u044b\u0448\u0435\u043a \u0438\u043d\u0444\u0435\u043a\u0446\u0438\u0439. <em>\u0411\u0435\u0437 \u0443\u0447\u0435\u0442\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u0439<\/em> (\u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u0435\u0445 \u0438\u043d\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445) \u0432 \u0442\u043e\u043f\u0430\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u0440\u0435\u0433\u0438\u043e\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u043f\u044b\u0448\u043a\u043e\u0439 (\u043a\u0430\u043a \u041a\u0438\u0442\u0430\u0439). <em>\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u0442\u043e\u0447\u043a\u0438 (\u0434\u0430\u0442\u044b) \u043e\u0442\u0441\u0447\u0435\u0442\u0430<\/em> \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u044d\u043f\u0438\u0434\u0435\u043c\u0438\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0431\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u0430\u043d\u0430\u043c\u0438 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u0436\u043d\u043e\u0435 \u043f\u0440\u0435\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u0439 \u0432 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u0445.<\/p>\n<p>  <\/p>\n<p><strong>\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/strong>, \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u0442\u0440\u0430\u043d\u0430\u043c\u0438, \u043f\u043e\u043a\u043e\u043f\u0430\u0442\u044c\u0441\u044f \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445, \u0441\u0434\u0435\u043b\u0430\u0442\u044c pull-request \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/github.com\/codez0mb1e\/covid-2019\/blob\/master\/src\/covids-news-train-escape.md\" rel=\"nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>. <\/p>\n<p>  <\/p>\n<h3 id=\"references\">References<\/h3>\n<p>  <\/p>\n<ol>\n<li><a href=\"https:\/\/github.com\/CSSEGISandData\/COVID-19\" rel=\"nofollow\">COVID-19 Data Repository by Johns Hopkins CSSE<\/a>, GitHub.<\/li>\n<li>\u0421\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e: <a href=\"https:\/\/www.kaggle.com\/c\/covid19-global-forecasting-week-4\" rel=\"nofollow\">Kaggle COVID19 Global Forecasting<\/a>, <a href=\"https:\/\/ods.ai\/competitions\/sberbank-covid19-forecast\" rel=\"nofollow\">Sberbank COVID-19 Forecast<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/codez0mb1e\/covid-2019\" rel=\"nofollow\">\u041a\u043e\u0434, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b, \u043f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u043f\u043e\u0441\u0442\u0430<\/a>, GitHub.<\/li>\n<\/ol>\n<p>  <\/p>\n<p><em>\u0411\u0435\u0440\u0435\u0433\u0438\u0442\u0435 \u0441\u0435\u0431\u044f!<\/em><\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/497340\/\"> https:\/\/habr.com\/ru\/post\/497340\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/497340\/\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f23\/ace\/620\/f23ace6203f6d13d9c21bd23b03d7872.png\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!<\/p>\n<p>  <\/p>\n<p>\u0413\u0434\u0435-\u0442\u043e \u043c\u0435\u0441\u044f\u0446 \u043d\u0430\u0437\u0430\u0434 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0447\u0443\u0432\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0439\u0441\u0442\u0432\u0430. \u042f \u0441\u0442\u0430\u043b \u043f\u043b\u043e\u0445\u043e \u0435\u0441\u0442\u044c, \u0435\u0449\u0435 \u0445\u0443\u0436\u0435 \u0441\u043f\u0430\u0442\u044c \u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c-\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c-\u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0442\u043e\u043d\u043d\u0443 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439 \u043e \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438. \u0418\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043d\u0438\u0445 \u043a\u043e\u0440\u043e\u043d\u0430\u0432\u0438\u0440\u0443\u0441 \u0442\u043e \u043b\u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u043b, \u0442\u043e \u043b\u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u043b \u043d\u0430\u0448\u0443 \u043f\u043b\u0430\u043d\u0435\u0442\u0443, \u044f\u0432\u043b\u044f\u043b\u0441\u044f \u0442\u043e \u043b\u0438 \u0437\u0430\u0433\u043e\u0432\u043e\u0440\u043e\u043c <del>\u043c\u0430\u0441\u043e\u043d\u043e\u0432<\/del> \u043c\u0438\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432, \u0430 \u0442\u043e \u043b\u0438 \u043c\u0435\u0441\u0442\u044c\u044e \u043f\u0430\u043d\u0433\u043e\u043b\u0438\u043d\u0430, \u0432\u0438\u0440\u0443\u0441 \u0442\u043e \u043b\u0438 \u0443\u0433\u0440\u043e\u0436\u0430\u043b \u0432\u0441\u0435\u043c \u0438 \u0441\u0440\u0430\u0437\u0443, \u0430 \u0442\u043e \u043b\u0438 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u043c\u043d\u0435 \u0438 \u043c\u043e\u0435\u043c\u0443 \u043a\u043e\u0442\u0443\u2026 <\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0442\u043d\u0438 \u0441\u0442\u0430\u0442\u0435\u0439, \u043f\u043e\u0441\u0442\u043e\u0432 \u0432 \u0441\u043e\u0446\u0441\u0435\u0442\u044f\u0445, youtube-telegram-instagram-tik-tok (\u0434\u0430 \u0443\u0436 \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435) \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0440\u0430\u0437\u043d\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 (\u0438 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438) \u043d\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0435\u043d\u044f \u043d\u0438 \u043a \u0447\u0435\u043c\u0443, \u043a\u0440\u043e\u043c\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/496998\/\">\u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u043c\u043e\u0437\u0433\u0430<\/a> \u0438 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u043c\u0443 \u0447\u0443\u0432\u0441\u0442\u0432\u0443 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0439\u0441\u0442\u0432\u0430.<\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0432 \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c \u044f <del>\u043a\u0443\u043f\u0438\u043b \u0433\u0440\u0435\u0447\u043a\u0438<\/del> \u0440\u0435\u0448\u0438\u043b \u0441\u043e \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043a\u043e\u043d\u0447\u0438\u0442\u044c. \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u0440\u0435\u0435!<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-301897","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/301897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=301897"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/301897\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=301897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=301897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=301897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}