install.packages(c("markovchain", "dplyr", "ggplot2","gridExtra", "grid","gganimate", "plotly"))
Warning in install.packages :
  package ‘grid’ is not available (for R version 3.6.3)
Warning in install.packages :
  package ‘grid’ is a base package, and should not be updated
also installing the dependencies ‘sys’, ‘askpass’, ‘curl’, ‘mime’, ‘openssl’, ‘yaml’, ‘later’, ‘igraph’, ‘matlab’, ‘expm’, ‘RcppParallel’, ‘RcppArmadillo’, ‘tidyselect’, ‘BH’, ‘plogr’, ‘httr’, ‘jsonlite’, ‘base64enc’, ‘htmltools’, ‘htmlwidgets’, ‘tidyr’, ‘hexbin’, ‘lazyeval’, ‘crosstalk’, ‘purrr’, ‘data.table’, ‘promises’

  There is a binary version available but the source version is later:
install.packages(c("ggplot2", "gridExtra", "markovchain", "plotly", "reshape"))
Error in install.packages : Unrecognized response “install.packages(c("ggplot2", "gridExtra", "markovchain", "plotly", "reshape"))”
library(markovchain)
library(dplyr)

Attaching package: ‘dplyr’

The following objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union
library(ggplot2)
Keep up to date with changes at https://www.tidyverse.org/blog/
library(gridExtra)

Attaching package: ‘gridExtra’

The following object is masked from ‘package:dplyr’:

    combine
library(grid)
library(gganimate)
No renderer backend detected. gganimate will default to writing frames to separate files
Consider installing:
- the `gifski` package for gif output
- the `av` package for video output
and restarting the R session
library(plotly)
Registered S3 method overwritten by 'data.table':
  method           from
  print.data.table     
Registered S3 method overwritten by 'htmlwidgets':
  method           from         
  print.htmlwidget tools:rstudio

Attaching package: ‘plotly’

The following object is masked from ‘package:ggplot2’:

    last_plot

The following object is masked from ‘package:stats’:

    filter

The following object is masked from ‘package:graphics’:

    layout
library(reshape)

Attaching package: ‘reshape’

The following object is masked from ‘package:plotly’:

    rename

The following object is masked from ‘package:dplyr’:

    rename

1 The Markovian Model and Simulation

SIR is an epidemiological model to study the dynamical spread of the diseases. S stands for susceptible, I for infected and R for recovered. It implicitly includes the deads. 95% of Susceptible people will remain in the Susceptible state,5% infected 80% of those who are Infected will move to the Recovered Category and 20% remain infected between successive timesteps. 14% of the recovered are still susceptible and could relapse while 86% of the recovered will remain at that state. All the numbers are backed by the data reported in the studies cited by the Word Economic Forum article https://www.weforum.org/agenda/2020/03/coronavirus-recovery-what-happens-after-covid19/

Running the markov model and calibration with actual parameters extracted from the behavior COVID-19 in the most affected countries

SIR 
 A  3 - dimensional discrete Markov Chain defined by the following states: 
 S, I, R 
 The transition matrix  (by rows)  is defined as follows: 
     S    I    R
S 0.95 0.05 0.00
I 0.00 0.20 0.80
R 0.14 0.00 0.86

A simple graphical representation of the SIR model with vertex the states and the edges representing the probability of transition of one state to another.

Generating data based on the model simulation and storing in a data frame.

Plotting the simulation results of the model

2 The US Actual Data Analysis

I query the data from data world at https://data.world/covid-19-data-resource-hub/covid-19-case-counts/workspace/query?queryid=sample-0

         date             country_region              province_state
 2020-02-21: 100   Australia     : 228   Florida             : 450  
 2020-03-15: 100   Canada        : 456   British Columbia    : 228  
 2020-02-28:  97   China         :1368   Cayman Islands      : 228  
 2020-01-26:  96   Denmark       :  73   Channel Islands     : 228  
 2020-02-10:  96   France        : 228   District of Columbia: 228  
 2020-02-29:  96   United Kingdom: 456   Indiana             : 228  
 (Other)   :4415   US            :2191   (Other)             :3410  
     case_type        cases           difference     
 Active   :1248   Min.   :   0.00   Min.   :-71.000  
 Confirmed:1249   1st Qu.:   0.00   1st Qu.:  0.000  
 Deaths   :1250   Median :   0.00   Median :  0.000  
 Recovered:1253   Mean   :  66.89   Mean   :  1.961  
                  3rd Qu.:   2.00   3rd Qu.:  0.000  
                  Max.   :1233.00   Max.   :203.000  
                                                     
           prep_flow_runtime     latest_date        lat        
 2020-03-20T07:43:39:5000    2020-03-19:5000   Min.   :-41.45  
                                               1st Qu.: 27.61  
                                               Median : 32.97  
                                               Mean   : 29.76  
                                               3rd Qu.: 38.90  
                                               Max.   : 71.71  
                                                               
      long                             location   
 Min.   :-123.87   POINT(-107.3025 42.756) : 228  
 1st Qu.: -86.26   POINT(-123.1207 49.2827): 228  
 Median : -77.03   POINT(-2.3644 49.3723)  : 228  
 Mean   : -13.28   POINT(-64.8963 18.3358) : 228  
 3rd Qu.: 112.29   POINT(-77.0268 38.8974) : 228  
 Max.   : 145.97   POINT(-80.945 33.8569)  : 228  
                   (Other)                 :3632  
'data.frame':   5000 obs. of  11 variables:
 $ date             : Factor w/ 57 levels "2020-01-23","2020-01-24",..: 49 49 8 46 21 36 30 30 30 30 ...
 $ country_region   : Factor w/ 7 levels "Australia","Canada",..: 7 7 7 7 7 7 7 7 7 7 ...
 $ province_state   : Factor w/ 23 levels "Arizona","British Columbia",..: 1 1 1 1 3 7 3 3 3 3 ...
 $ case_type        : Factor w/ 4 levels "Active","Confirmed",..: 4 3 2 4 4 4 4 3 2 1 ...
 $ cases            : int  0 0 0 0 0 0 0 0 0 0 ...
 $ difference       : int  0 0 0 0 0 0 0 0 0 0 ...
 $ prep_flow_runtime: Factor w/ 1 level "2020-03-20T07:43:39": 1 1 1 1 1 1 1 1 1 1 ...
 $ latest_date      : Factor w/ 1 level "2020-03-19": 1 1 1 1 1 1 1 1 1 1 ...
 $ lat              : num  32.1 32.1 32.1 32.8 37.5 ...
 $ long             : num  -112 -112 -112 -111 -121 ...
 $ location         : Factor w/ 47 levels "POINT(-107.3025 42.756)",..: 3 3 3 2 11 26 8 8 8 8 ...

Recovered, death and infected in the US summary

Subseting the period that correponds to the parameters used in the Markov model

Plotting the Actual data of the cases in the US. Frankly, the US just got in to the hod bed of the diseases and the actual data plotted here will drastically evolve, and so will the shape of the curves. If the parameters of the experience in China and worldwide start kicking in the US model. In that hypothesis,the simulation in this model could match the US data.

3 Conclusion

COVID-19 is just picking up in the US at the time of this analysis. Flattening out the curves will require on one hand, that the large infection and death rates other countries experience be lower in the US, and on the other the recovery rate gets higher; which entails opposing a radical response to the disease.

LS0tCnRpdGxlOiAiQSBTaW1wbGUgTWFya292IFNJUiBTaW11bGF0aW9uIE1vZGVsIG9mIENPVklELTE5IGluIHRoZSBVUyIKZGF0ZTogIjAzLzIwLzIwMjAiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICBmaWdfY2FwdGlvbjogeWVzCiAgICBmaWdfaGVpZ2h0OiA2CiAgICBmaWdfd2lkdGg6IDEwCiAgICBoaWdobGlnaHQ6IHRhbmdvCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgdGhlbWU6IHJlYWRhYmxlCiAgICB0b2M6IHllcwogIHBkZl9kb2N1bWVudDoKICAgIHRvYzogeWVzCmF1dGhvcjogIkJvcmlzIEhvdWVub3UsIFBoLkQuLCBEYXRhIFNjaWVudGlzdCBhbmQgRWNvbm9taXN0IgotLS0KYGBge3J9Cmluc3RhbGwucGFja2FnZXMoYygibWFya292Y2hhaW4iLCAiZHBseXIiLCAiZ2dwbG90MiIsImdyaWRFeHRyYSIsICJncmlkIiwiZ2dhbmltYXRlIiwgInJlc2hhcGUiKSkKYGBgCgoKYGBge3J9CmxpYnJhcnkobWFya292Y2hhaW4pCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShncmlkRXh0cmEpCmxpYnJhcnkoZ3JpZCkKbGlicmFyeShnZ2FuaW1hdGUpCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KHJlc2hhcGUpCmBgYAojIFRoZSBNYXJrb3ZpYW4gIE1vZGVsIGFuZCBTaW11bGF0aW9uClNJUiBpcyBhbiBlcGlkZW1pb2xvZ2ljYWwgbW9kZWwgdG8gc3R1ZHkgdGhlIGR5bmFtaWNhbCBzcHJlYWQgb2YgdGhlIGRpc2Vhc2VzLiBTIHN0YW5kcyBmb3Igc3VzY2VwdGlibGUsIEkgZm9yIGluZmVjdGVkIGFuZCBSIGZvciByZWNvdmVyZWQuIEl0IGltcGxpY2l0bHkgaW5jbHVkZXMgdGhlIGRlYWRzLiAKOTUlIG9mIFN1c2NlcHRpYmxlIHBlb3BsZSB3aWxsIHJlbWFpbiBpbiB0aGUgU3VzY2VwdGlibGUgc3RhdGUsNSUgaW5mZWN0ZWQKODAlIG9mIHRob3NlIHdobyBhcmUgSW5mZWN0ZWQgd2lsbCBtb3ZlIHRvIHRoZSBSZWNvdmVyZWQgQ2F0ZWdvcnkgYW5kIDIwJSByZW1haW4gaW5mZWN0ZWQgYmV0d2VlbiBzdWNjZXNzaXZlIHRpbWVzdGVwcy4gCjE0JSBvZiB0aGUgcmVjb3ZlcmVkIGFyZSBzdGlsbCBzdXNjZXB0aWJsZSBhbmQgY291bGQgcmVsYXBzZSB3aGlsZSA4NiUgb2YgdGhlIHJlY292ZXJlZCB3aWxsIHJlbWFpbiBhdCB0aGF0IHN0YXRlLgpBbGwgdGhlIG51bWJlcnMgYXJlIGJhY2tlZCBieSB0aGUgZGF0YSByZXBvcnRlZCBpbiB0aGUgc3R1ZGllcyBjaXRlZCBieSB0aGUgV29yZCBFY29ub21pYyBGb3J1bSBhcnRpY2xlIGh0dHBzOi8vd3d3LndlZm9ydW0ub3JnL2FnZW5kYS8yMDIwLzAzL2Nvcm9uYXZpcnVzLXJlY292ZXJ5LXdoYXQtaGFwcGVucy1hZnRlci1jb3ZpZDE5LyAKCgpSdW5uaW5nIHRoZSBtYXJrb3YgbW9kZWwgYW5kIGNhbGlicmF0aW9uIHdpdGggYWN0dWFsIHBhcmFtZXRlcnMgZXh0cmFjdGVkIGZyb20gdGhlIGJlaGF2aW9yIENPVklELTE5IGluIHRoZSBtb3N0IGFmZmVjdGVkIGNvdW50cmllcwpgYGB7cn0KIyMjI1NJUiBmb3IgQ09WSUQtMTkgaW4gdGhlIFVTCm1jU0lSU0wgPC0gbmV3KCJtYXJrb3ZjaGFpbiIsIHN0YXRlcz1jKCJTIiwiSSIsIlIiKSwKICAgICAgICAgICAgICAgdHJhbnNpdGlvbk1hdHJpeD1tYXRyaXgoZGF0YT1jKDAuOTUsMC4wNSwwLDAsMC4yLDAuODAsMC4xNCwwLDAuODYpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXJvdz1UUlVFLCBucm93PTMpLCBuYW1lPSJTSVIiKQppbml0aWFsU3RhdGUgPC0gYygzNTAwMDAwMDAsMTcwMDAsMTY3NzUpCnNob3cobWNTSVJTTCkKYGBgCkEgc2ltcGxlIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgU0lSIG1vZGVsIHdpdGggdmVydGV4IHRoZSBzdGF0ZXMgYW5kIHRoZSBlZGdlcyByZXByZXNlbnRpbmcgdGhlIHByb2JhYmlsaXR5IG9mIHRyYW5zaXRpb24gb2Ygb25lIHN0YXRlIHRvIGFub3RoZXIuCmBgYHtyfQpwbG90KG1jU0lSU0wscGFja2FnZT0iZGlhZ3JhbSIpCmBgYAoKR2VuZXJhdGluZyBkYXRhIGJhc2VkIG9uIHRoZSBtb2RlbCBzaW11bGF0aW9uIGFuZCBzdG9yaW5nIGluIGEgZGF0YSBmcmFtZS4gCmBgYHtyfQp0aW1lc3RlcHMgPC0gMTIKZGYgPC0gZGF0YS5mcmFtZSggInRpbWVzdGVwIiA9IG51bWVyaWMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgIlMiID0gbnVtZXJpYygpLCAiSSIgPSBudW1lcmljKCksIlIiID0gbnVtZXJpYygpLAogICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdzQXNGYWN0b3JzPUZBTFNFKQpmb3IgKGkgaW4gMDp0aW1lc3RlcHMpIHsKICBuZXdyb3cgPC0gYXMubGlzdChjKGkscm91bmQoYXMubnVtZXJpYyhpbml0aWFsU3RhdGUgKiBtY1NJUlNMIF4gaSksMCkpKQogIGRmW25yb3coZGYpICsgMSwgXSA8LSBuZXdyb3cKfQoKaGVhZChkZikKYGBgClBsb3R0aW5nIHRoZSBzaW11bGF0aW9uIHJlc3VsdHMgb2YgdGhlIG1vZGVsCmBgYHtyfQpkZl9uZXcgPC0gcmVzaGFwZTo6bWVsdChkZiwgaWQgPSAidGltZXN0ZXAiKQpoZWFkKGRmX25ldykKCnA8LWdncGxvdChkZl9uZXcsIGFlcyh4ID0gdGltZXN0ZXAsIHkgPSB2YWx1ZSwgY29sb3IgPSB2YXJpYWJsZSkpICsgCiAgZ2VvbV9saW5lKHNpemUgPSAxKSArIGdlb21fcG9pbnQoc2l6ZSA9IDEpICsgCiAgc2NhbGVfY29sb3JfYnJld2VyKHBhbGV0dGUgPSAiU2V0MSIpCnAKI3ArdHJhbnNpdGlvbl9yZXZlYWwoYXMubnVtZXJpYyh0aW1lc3RlcCkpCgpgYGAKIyBUaGUgVVMgQWN0dWFsIERhdGEgQW5hbHlzaXMKSSBxdWVyeSB0aGUgZGF0YSBmcm9tIGRhdGEgd29ybGQgYXQgCmh0dHBzOi8vZGF0YS53b3JsZC9jb3ZpZC0xOS1kYXRhLXJlc291cmNlLWh1Yi9jb3ZpZC0xOS1jYXNlLWNvdW50cy93b3Jrc3BhY2UvcXVlcnk/cXVlcnlpZD1zYW1wbGUtMCAKYGBge3J9CmRhdGE9IHJlYWQuY3N2KCcvVXNlcnMvYm9yaXNob3Vlbm91L0Rvd25sb2Fkcy9jb3ZpZDE5Y2FzZXMtY292aWQtMTktY2FzZS1jb3VudHMtUXVlcnlSZXN1bHQuY3N2JykKc3VtbWFyeShkYXRhKQpzdHIoZGF0YSkKYGBgClJlY292ZXJlZCwgZGVhdGggYW5kIGluZmVjdGVkIGluIHRoZSBVUyBzdW1tYXJ5CmBgYHtyfQpkYXRhX3VzPC1kYXRhICU+JQogIGZpbHRlcihjb3VudHJ5X3JlZ2lvbj09J1VTJykgJT4lCiAgZ3JvdXBfYnkoZGF0ZSwgY2FzZV90eXBlKSAlPiUKICBzdW1tYXJpc2UoVG90YWw9c3VtKGNhc2VzKSkKYGBgCgpTdWJzZXRpbmcgdGhlIHBlcmlvZCB0aGF0IGNvcnJlcG9uZHMgdG8gdGhlIHBhcmFtZXRlcnMgdXNlZCBpbiB0aGUgTWFya292IG1vZGVsCmBgYHtyfQpkYXRhX3VzPC1kYXRhX3VzWzE3MzoyMjgsIF0KYGBgCgpQbG90dGluZyB0aGUgQWN0dWFsIGRhdGEgb2YgdGhlIGNhc2VzIGluIHRoZSBVUy4gRnJhbmtseSwgdGhlIFVTIGp1c3QgZ290IGluIHRvIHRoZSBob2QgYmVkIG9mIHRoZSBkaXNlYXNlcyBhbmQgdGhlIGFjdHVhbCBkYXRhIHBsb3R0ZWQgaGVyZSB3aWxsIGRyYXN0aWNhbGx5IGV2b2x2ZSwgYW5kIHNvIHdpbGwgdGhlIHNoYXBlIG9mIHRoZSBjdXJ2ZXMuIElmIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBleHBlcmllbmNlIGluIENoaW5hIGFuZCB3b3JsZHdpZGUgc3RhcnQga2lja2luZyBpbiB0aGUgVVMgbW9kZWwuIEluIHRoYXQgaHlwb3RoZXNpcyx0aGUgc2ltdWxhdGlvbiBpbiB0aGlzIG1vZGVsIGNvdWxkIG1hdGNoIHRoZSBVUyBkYXRhLgpgYGB7cn0KZzwtZ2dwbG90KGRhdGFfdXMsIGFlcyh4ID0gZGF0ZSwgeSA9IFRvdGFsLCBjb2xvciA9IGNhc2VfdHlwZSkpICsgCiAgZ2VvbV9saW5lKHNpemUgPSAzKSArIGdlb21fcG9pbnQoc2l6ZSA9IDIpICsKICB0aGVtZV9idygpICsKICBzY2FsZV9jb2xvcl9icmV3ZXIocGFsZXR0ZSA9ICJTZXQxIikKCiNnK3RyYW5zaXRpb25fcmV2ZWFsKGFzLm51bWVyaWMoZGF0ZSkpCmcgICsgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA5MCkpCmBgYAojIENvbmNsdXNpb24KQ09WSUQtMTkgaXMganVzdCBwaWNraW5nIHVwIGluIHRoZSBVUyBhdCB0aGUgdGltZSBvZiB0aGlzIGFuYWx5c2lzLiBGbGF0dGVuaW5nIG91dCB0aGUgY3VydmVzIHdpbGwgcmVxdWlyZSBvbiBvbmUgaGFuZCwgIHRoYXQgdGhlIGxhcmdlIGluZmVjdGlvbiBhbmQgZGVhdGggcmF0ZXMgb3RoZXIgY291bnRyaWVzIGV4cGVyaWVuY2UgYmUgbG93ZXIgaW4gdGhlIFVTLCBhbmQgb24gdGhlIG90aGVyIHRoZSByZWNvdmVyeSByYXRlIGdldHMgaGlnaGVyOyB3aGljaCBlbnRhaWxzIG9wcG9zaW5nIGEgcmFkaWNhbCByZXNwb25zZSB0byB0aGUgZGlzZWFzZS4gCg==