COVID19, the disease caused by the 2019 novel corona virus, entered world conscious towards the end of 2020. By March, as infection rates were rising in the US, concerns about covid19 reached a crescendo and led to significant “shelter-in-place” (SIP) policies cross the country. Over the next 2 months, this lockdown was able to control the growth rate of covid19, and as other costs started to dominate, various states began easing the lockdown during May-June.
How are we faring since then?
Oct 15, 2020: The period from early August on saw a new effort to control spread of covid in California, which seems to have been effective. August was also good for most of the country, but by mid-October most states are showing an uptrend (and even hitting record highs for daily cases - mid-West and great plains states), while even states like NY and NJ that had done a solid job through the summer are showing an uptick.
How to look at the data? If you want rapid reaction, you have to be current, look at daily data. However, daily numbers have a lot of noise due to reporting problems, delays and bunching. Looking at weekly numbers addresses most of that. Also, note that hospitalizations lag cases by a week or two, and deaths lag cases by about 4 weeks.
Using covidtracking.com for main covid.data, and a data set from Kaggle for 2018 state population numbers.
The original data set has date, n.states, n.cases, n.neg, n.pend, in.hosp, n.hosp, in.ICU, n.ICU, on.vent, n.vent, n.recov, n.death, n.result, new.result, new.cases, new.hosp, new.death, pct.inf, s.daily.result, s.daily.cases, s.daily.death, s.in.ICU, s.daily.hosp fields. Extended to add daily incremental metrics (new.result, new.cases, etc.) and also rolling means (7 days, 5 days depending on metric); however the latter is not needed if we look at the data on a weekly (rather than daily) basis.
We have varying quality of data regarding different metrics at the state level.
because of the size variation among states, and the intensity of covid infection (both absolute and per capita) it is useful to break states into a few groups, so that inter-state comparisons become more meaningful.
We’ll look at weekly tests (how many) and daily cases (how many of these yielded positive results). Since states vary widely on these metrics (and on population size), we’ll break the entire group into 3 parts: those with most cases, those in the middle, and those with fewest. Then we’ll want to look at multiple metrics: total tests, total cases (tests with covid-positive results), and deaths. For each metric, we can look at absolute numbers (daily, smoothed daily, or say weekly) and relative (to total populations, total tests done etc.).
The point is there are lots of ways of looking at the data, and each approach fits certain aspects of inquiry. Finally, note that there is a 2-3 week delay from actions – such as implementation and easing of lockdown – to effects (cases, hospitalizations, deaths).
## Note: Using an external vector in selections is ambiguous.
## ℹ Use `all_of(measure1)` instead of `measure1` to silence this message.
## ℹ See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
## Note: Using an external vector in selections is ambiguous.
## ℹ Use `all_of(measure2)` instead of `measure2` to silence this message.
## ℹ See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
## Note: Using an external vector in selections is ambiguous.
## ℹ Use `all_of(measure3)` instead of `measure3` to silence this message.
## ℹ See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
Within each group of states, we’ll organize the analysis like this:
Absolute numbers of daily cases (positive results) - how these are varying over time. These are the left panels below. Of course, positive results can vary due to more infections or due to greater testing. The panels on the right adjust for testing. Still, there are problems in the data due to inconsistencies in reporting of test results. In some locations, only positive results were reported during certain time periods; most others reported both positive and negative results.
Then we’ll look at deaths (absolute numbers) and death rates (deaths relative to known cases). “Cases” are often unobserved, deaths are harder to hide. Also, there is often a multi-day lag in reporting and accumulating case data from lower levels, deaths are reported more quickly and uniformly. However, if we want to, say, track the rate of spread of the virus, or the effects of different actions, then deaths are a substantially lagging indicator. Actions show up in the numbers after about 15-30 days.
Finally, it makes sense to look at everything on a per-capita rather than absolute basis.
Let’s get a quick peek at how states are doing, by looking at the daily reports of positive cases and tests. Each panel is a state, and we list the “positive rate” (cases/tests) and the # infections per 100,000 people. The start and easing of lockdown is marked on each panel - but this is only a rough approximation, with the same period for all states. Also, note that the count of cases (or tests) doesn’t mean exactly the number of people known to be infected (or tested) - this is because the same people might be tested numerous times (e.g., health care workers, grocery store workers, even those with positive results).
So, it seems that in the US, we have NOT decimated the virus (like some countries did - China, S. Korea, Taiwan). Some states have done it (NY, NJ, CT, MI, MA and a few others), but many are doing a bad jb especially while easing the lockdown - look at states like AL, AZ, AK, FL, NC, TX.
States with highest case loads (like NY, NJ, MA - see left panel) were able to bring cases drastically down, whereas daily case numbers in states like CA have not fallen over time. Some of this is the effect of increased testing, visible in the right panel where we normalize the case numbers by testing intensity. Similarly, the second row of charts normalizes deaths by the state’s total population.
Note that these charts are on the log scale.
The data below show daily numbers based on a weekly average.
week | state | wk.cases | wk.results | wk.deaths | population |
---|---|---|---|---|---|
2020-03-01 | CA | 8 | 8 | NA | 37333601 |
2020-03-08 | CA | 30 | 106 | NA | 37333601 |
2020-03-15 | CA | 147 | 1623 | 2.7 | 37333601 |
2020-03-22 | CA | 481 | 1809 | 11.0 | 37333601 |
2020-03-29 | CA | 1055 | 12644 | 25.0 | 37333601 |
2020-04-05 | CA | 1227 | 8503 | 47.6 | 37333601 |
2020-04-12 | CA | 1193 | 12350 | 66.1 | 37333601 |
2020-04-19 | CA | 1739 | 35196 | 82.7 | 37333601 |
2020-04-26 | CA | 1580 | 25824 | 74.3 | 37333601 |
2020-05-03 | CA | 1766 | 32252 | 72.4 | 37333601 |
2020-05-10 | CA | 1747 | 38079 | 75.1 | 37333601 |
2020-05-17 | CA | 1977 | 48026 | 72.0 | 37333601 |
2020-05-24 | CA | 2321 | 53327 | 64.0 | 37333601 |
2020-05-31 | CA | 2734 | 59958 | 57.6 | 37333601 |
2020-06-07 | CA | 2804 | 59442 | 61.4 | 37333601 |
2020-06-14 | CA | 3381 | 72860 | 62.1 | 37333601 |
2020-06-21 | CA | 5303 | 89700 | 64.0 | 37333601 |
2020-06-28 | CA | 7279 | 98674 | 63.0 | 37333601 |
2020-07-05 | CA | 7851 | 103238 | 90.3 | 37333601 |
2020-07-12 | CA | 9003 | 127360 | 92.9 | 37333601 |
2020-07-19 | CA | 10005 | 125734 | 106.0 | 37333601 |
2020-07-26 | CA | 7819 | 119890 | 126.7 | 37333601 |
2020-08-02 | CA | 6522 | 117277 | 137.9 | 37333601 |
2020-08-09 | CA | 9700 | 139083 | 136.9 | 37333601 |
2020-08-16 | CA | 6172 | 107892 | 120.1 | 37333601 |
2020-08-23 | CA | 5278 | 96183 | 120.9 | 37333601 |
2020-08-30 | CA | 4771 | 115242 | 115.6 | 37333601 |
2020-09-06 | CA | 3294 | 91521 | 86.9 | 37333601 |
2020-09-13 | CA | 3405 | 112417 | 94.4 | 37333601 |
2020-09-20 | CA | 3443 | 119835 | 88.6 | 37333601 |
2020-09-27 | CA | 3028 | 116594 | 77.4 | 37333601 |
2020-10-04 | CA | 3334 | 125651 | 60.9 | 37333601 |
2020-10-11 | CA | 3097 | 125467 | 57.0 | 37333601 |
2020-10-18 | CA | 4051 | 121781 | 58.9 | 37333601 |
2020-10-25 | CA | 4171 | 141877 | 45.0 | 37333601 |
2020-11-01 | CA | 4993 | 137548 | 44.7 | 37333601 |
2020-11-08 | CA | 7346 | 158064 | 39.9 | 37333601 |
2020-11-15 | CA | 11334 | 185748 | 60.7 | 37333601 |
2020-11-22 | CA | 12662 | 256510 | 42.0 | 37333601 |
week | state | wk.cases | wk.results | wk.deaths | population |
---|---|---|---|---|---|
2020-03-01 | NY | 8.8 | 47 | NA | 19398228 |
2020-03-08 | NY | 68.7 | 563 | NA | 19398228 |
2020-03-15 | NY | 1405.6 | 5943 | NA | 19398228 |
2020-03-22 | NY | 5994.6 | 15764 | 97.7 | 19398228 |
2020-03-29 | NY | 8769.4 | 18222 | 405.3 | 19398228 |
2020-04-05 | NY | 9536.3 | 22480 | 723.1 | 19398228 |
2020-04-12 | NY | 8039.1 | 22222 | 676.4 | 19398228 |
2020-04-19 | NY | 6487.3 | 25862 | 462.4 | 19398228 |
2020-04-26 | NY | 4404.9 | 25921 | 330.0 | 19398228 |
2020-05-03 | NY | 2877.9 | 27822 | 337.4 | 19398228 |
2020-05-10 | NY | 2158.6 | 32136 | 172.4 | 19398228 |
2020-05-17 | NY | 1670.6 | 39049 | 114.9 | 19398228 |
2020-05-24 | NY | 1390.6 | 50474 | 80.9 | 19398228 |
2020-05-31 | NY | 1093.7 | 61718 | 52.0 | 19398228 |
2020-06-07 | NY | 759.1 | 62119 | 45.0 | 19398228 |
2020-06-14 | NY | 663.1 | 65079 | 26.1 | 19398228 |
2020-06-21 | NY | 664.4 | 60969 | 17.1 | 19398228 |
2020-06-28 | NY | 667.9 | 59401 | 9.4 | 19398228 |
2020-07-05 | NY | 633.0 | 62913 | 11.1 | 19398228 |
2020-07-12 | NY | 753.7 | 65498 | 8.7 | 19398228 |
2020-07-19 | NY | 699.3 | 63864 | 9.7 | 19398228 |
2020-07-26 | NY | 652.4 | 65095 | 8.7 | 19398228 |
2020-08-02 | NY | 654.0 | 67408 | 4.4 | 19398228 |
2020-08-09 | NY | 650.9 | 78096 | 7.0 | 19398228 |
2020-08-16 | NY | 609.1 | 79516 | 5.4 | 19398228 |
2020-08-23 | NY | 605.3 | 78522 | 5.3 | 19398228 |
2020-08-30 | NY | 767.1 | 87692 | 4.4 | 19398228 |
2020-09-06 | NY | 695.4 | 76430 | 4.9 | 19398228 |
2020-09-13 | NY | 771.1 | 82352 | 5.9 | 19398228 |
2020-09-20 | NY | 817.4 | 85904 | 3.6 | 19398228 |
2020-09-27 | NY | 1228.6 | 98125 | 7.9 | 19398228 |
2020-10-04 | NY | 1397.6 | 115861 | 9.1 | 19398228 |
2020-10-11 | NY | 1392.6 | 121441 | 9.7 | 19398228 |
2020-10-18 | NY | 1563.0 | 122841 | 11.6 | 19398228 |
2020-10-25 | NY | 1949.7 | 128061 | 12.7 | 19398228 |
2020-11-01 | NY | 2589.7 | 141636 | 17.3 | 19398228 |
2020-11-08 | NY | 4420.4 | 157129 | 25.0 | 19398228 |
2020-11-15 | NY | 4895.9 | 168666 | 31.9 | 19398228 |
2020-11-22 | NY | 5393.0 | 184287 | 38.3 | 19398228 |
week | state | wk.cases | wk.results | wk.deaths | population |
---|---|---|---|---|---|
2020-03-01 | FL | 1.7 | 27 | NA | 18846054 |
2020-03-08 | FL | 6.1 | 60 | NA | 18846054 |
2020-03-15 | FL | 68.1 | 940 | 1.3 | 18846054 |
2020-03-22 | FL | 378.7 | 4491 | 6.0 | 18846054 |
2020-03-29 | FL | 988.3 | 8930 | 19.6 | 18846054 |
2020-04-05 | FL | 1034.7 | 10104 | 35.3 | 18846054 |
2020-04-12 | FL | 938.0 | 10484 | 45.1 | 18846054 |
2020-04-19 | FL | 814.9 | 12387 | 45.9 | 18846054 |
2020-04-26 | FL | 657.0 | 11841 | 44.7 | 18846054 |
2020-05-03 | FL | 612.7 | 15924 | 56.7 | 18846054 |
2020-05-10 | FL | 646.7 | 14576 | 36.4 | 18846054 |
2020-05-17 | FL | 789.3 | 32371 | 38.9 | 18846054 |
2020-05-24 | FL | 727.1 | 19761 | 31.1 | 18846054 |
2020-05-31 | FL | 987.0 | 25542 | 34.7 | 18846054 |
2020-06-07 | FL | 1514.3 | 28005 | 34.7 | 18846054 |
2020-06-14 | FL | 2717.1 | 27091 | 31.6 | 18846054 |
2020-06-21 | FL | 5710.9 | 38497 | 36.0 | 18846054 |
2020-06-28 | FL | 8055.0 | 45121 | 44.9 | 18846054 |
2020-07-05 | FL | 9107.6 | 46871 | 71.1 | 18846054 |
2020-07-12 | FL | 11662.4 | 65038 | 100.1 | 18846054 |
2020-07-19 | FL | 10884.9 | 57663 | 127.4 | 18846054 |
2020-07-26 | FL | 9249.3 | 48899 | 178.6 | 18846054 |
2020-08-02 | FL | 6586.9 | 37998 | 156.3 | 18846054 |
2020-08-09 | FL | 6380.1 | 36922 | 177.4 | 18846054 |
2020-08-16 | FL | 3950.7 | 28402 | 133.0 | 18846054 |
2020-08-23 | FL | 2989.0 | 24697 | 119.7 | 18846054 |
2020-08-30 | FL | 3492.4 | 26883 | 102.0 | 18846054 |
2020-09-06 | FL | 2491.0 | 19658 | 113.3 | 18846054 |
2020-09-13 | FL | 2729.1 | 23759 | 99.1 | 18846054 |
2020-09-20 | FL | 2456.1 | 23742 | 105.7 | 18846054 |
2020-09-27 | FL | 2225.4 | 20160 | 87.6 | 18846054 |
2020-10-04 | FL | 2339.3 | 23568 | 94.8 | 18846054 |
2020-10-11 | FL | 3288.1 | 26485 | 106.6 | 18846054 |
2020-10-18 | FL | 3326.7 | 33354 | 71.7 | 18846054 |
2020-10-25 | FL | 3670.3 | 28382 | 49.9 | 18846054 |
2020-11-01 | FL | 4844.1 | 31177 | 48.9 | 18846054 |
2020-11-08 | FL | 5297.7 | 29989 | 56.1 | 18846054 |
2020-11-15 | FL | 7892.9 | 42175 | 64.0 | 18846054 |
2020-11-22 | FL | 6863.3 | 44084 | 77.0 | 18846054 |
week | state | wk.cases | wk.results | wk.deaths | population |
---|---|---|---|---|---|
2020-03-15 | TX | 60 | 1314 | 1.0 | 25245178 |
2020-03-22 | TX | 250 | 2677 | 3.1 | 25245178 |
2020-03-29 | TX | 580 | 5499 | 11.1 | 25245178 |
2020-04-05 | TX | 922 | 8112 | 21.3 | 25245178 |
2020-04-12 | TX | 814 | 7958 | 28.4 | 25245178 |
2020-04-19 | TX | 788 | 12368 | 24.3 | 25245178 |
2020-04-26 | TX | 964 | 16833 | 32.0 | 25245178 |
2020-05-03 | TX | 1048 | 15521 | 28.9 | 25245178 |
2020-05-10 | TX | 1306 | 21349 | 36.6 | 25245178 |
2020-05-17 | TX | 1073 | 17710 | 28.7 | 25245178 |
2020-05-24 | TX | 1118 | 23687 | 17.1 | 25245178 |
2020-05-31 | TX | 1602 | 23537 | 27.6 | 25245178 |
2020-06-07 | TX | 1780 | 23863 | 19.7 | 25245178 |
2020-06-14 | TX | 3103 | 29011 | 29.7 | 25245178 |
2020-06-21 | TX | 5091 | 37061 | 28.7 | 25245178 |
2020-06-28 | TX | 6917 | 49855 | 34.6 | 25245178 |
2020-07-05 | TX | 8382 | 51116 | 72.0 | 25245178 |
2020-07-12 | TX | 9610 | 59009 | 107.6 | 25245178 |
2020-07-19 | TX | 8302 | 66194 | 145.7 | 25245178 |
2020-07-26 | TX | 7806 | 63105 | 278.9 | 25245178 |
2020-08-02 | TX | 8500 | 44146 | 251.0 | 25245178 |
2020-08-09 | TX | 6765 | 44146 | 213.9 | 25245178 |
2020-08-16 | TX | 6329 | 45598 | 203.7 | 25245178 |
2020-08-23 | TX | 4770 | 37159 | 164.9 | 25245178 |
2020-08-30 | TX | 4112 | 40425 | 141.1 | 25245178 |
2020-09-06 | TX | 3182 | 47956 | 105.0 | 25245178 |
2020-09-13 | TX | 4068 | 6219 | 100.7 | 25245178 |
2020-09-20 | TX | 6767 | 61662 | 91.0 | 25245178 |
2020-09-27 | TX | 4225 | 68304 | 72.4 | 25245178 |
2020-10-04 | TX | 3864 | 51099 | 76.3 | 25245178 |
2020-10-11 | TX | 4358 | 63372 | 65.4 | 25245178 |
2020-10-18 | TX | 5358 | 62280 | 67.4 | 25245178 |
2020-10-25 | TX | 6075 | 63434 | 81.1 | 25245178 |
2020-11-01 | TX | 7136 | 68680 | 96.6 | 25245178 |
2020-11-08 | TX | 9087 | 85770 | 110.0 | 25245178 |
2020-11-15 | TX | 10195 | 96107 | 142.4 | 25245178 |
2020-11-22 | TX | 9949 | 110758 | 94.3 | 25245178 |