使用nCov2019包可视化新冠肺炎疫情

2020-02-25  本文已影响0人  你猜我菜不菜

从今年1月24号县城封城到现在已经整整一个月了,在家憋得难受,小区不让进出,连小区楼下也不让溜达了,就想出去走走,哎,还是不跟国家添堵了,坚持就是胜利。最近Y叔发布了一个R包nCov2019可以爬取腾讯网上的疫情数据,然后可视化疫情情况,今天来学习一下这个包,调节一下情绪。


1. nCov2019包的安装

> remotes::install_git('https://gitee.com/GuangchuangYu/nCov2019')
remotes::install_github("GuangchuangYu/nCov2019")这个方法也可以,但我没成功,在家网真不行。

2. 疫情数据的载入

#载入数据
> library(nCov2019)
> x = load_nCov2019()
> x
nCov2019 historical data 
last update: 2020-02-23 
> head(x[])
        time province   city cum_confirm cum_heal cum_dead suspected
1 2020-01-25     广西   梧州           1        0        0         0
2 2020-01-25     湖北 恩施州          11        0        0         0
3 2020-01-25     广东   韶关           3        0        0         0
4 2020-01-25     重庆 合川区           2        0        0         0
5 2020-01-25     重庆 璧山区           2        0        0         0
6 2020-01-25     重庆 涪陵区           1        0        0         0

3. 全国疫情情况

#本地安装github上的中国地图包chinamap,在github上手动下载后解压,然后运行install.packages()命令
> install.packages("C:/Users/Administrator/Documents/R_work/chinamap-master",repos=NULL,type="source")
> require(chinamap)
Loading required package: chinamap
> cn = get_map_china()
Loading required package: sp
Regions defined for each Polygons
> x = get_nCov2019()
> plot(x, region='china', chinamap=cn,continuous_scale=FALSE,palette='Blues')
Warning: Ignoring unknown aesthetics: x, y

全国疫情情况

4. 各省市疫情情况

4.1宜昌累计确诊人数和死亡人数
> all = load_nCov2019()
> yc = subset(all['湖北',], city == '宜昌')
> yc
            time province city cum_confirm cum_heal cum_dead suspected
189   2020-01-25     湖北 宜昌           1        0        1         0
421   2020-01-26     湖北 宜昌          20        0        1         0
536   2020-01-28     湖北 宜昌          51        0        1         0
908   2020-01-29     湖北 宜昌          63        0        1         0
1067  2020-01-30     湖北 宜昌         117        0        1         0
1529  2020-01-31     湖北 宜昌         167        0        1         0
1897  2020-02-01     湖北 宜昌         276        0        1         0
2416  2020-02-02     湖北 宜昌         353        0        1         0
2924  2020-02-03     湖北 宜昌         392        2        1         0
3169  2020-02-04     湖北 宜昌         452        2        3         0
3477  2020-02-05     湖北 宜昌         496        9        4         0
3975  2020-02-06     湖北 宜昌         563        9        6         0
4283  2020-02-07     湖北 宜昌         610       15        7         0
4738  2020-02-08     湖北 宜昌         633       25        8         0
5143  2020-02-09     湖北 宜昌         711       36        8         0
5510  2020-02-10     湖北 宜昌         749       43        8         0
6080  2020-02-11     湖北 宜昌         772       52        8         0
6411  2020-02-12     湖北 宜昌         784       62        8         0
6979  2020-02-13     湖北 宜昌         810       72       11         0
7253  2020-02-14     湖北 宜昌         877       82       13         0
7677  2020-02-15     湖北 宜昌         906       92       15         0
8098  2020-02-16     湖北 宜昌         901      140       21         0
8399  2020-02-17     湖北 宜昌         895      156       24         0
9088  2020-02-18     湖北 宜昌         904      186       24         0
9514  2020-02-19     湖北 宜昌         907      208       25         0
9668  2020-02-20     湖北 宜昌         891      231       27         0
10093 2020-02-21     湖北 宜昌         895      250       28         0
10518 2020-02-22     湖北 宜昌         914      273       29         0
10944 2020-02-23     湖北 宜昌         917      289       29         0

> library(ggplot2)
> colors <- c("cum_confirm" = "blue", "cum_dead" = "red")
> p <- ggplot(yc,aes(x = time)) + 
  geom_line(yc, mapping = aes(y = cum_confirm,color = "cum_confirm"),size = 1) +
  geom_point(yc, mapping = aes(y = cum_confirm,color = "cum_confirm"),size = 1.5) +
  geom_line(yc, mapping = aes(y = cum_dead,color = "cum_dead"),size = 1) +
  geom_point(yc, mapping = aes(y = cum_dead,color = "cum_dead"),size = 1.5) +
  labs(y = "人数", x = "时间",  title = "新冠肺炎疫情(宜昌)", 
       color = "")  +
  scale_color_manual(labels = c("累计确诊", "累计死亡"),values = colors) +
  theme_bw() + theme(plot.title = element_text(size = 16,hjust = 0.5),
                     legend.position = c(0,1),legend.justification = c(0,1),
                     legend.text = element_text(size=12),
                     legend.background = element_blank())
> p 
宜昌疫情
4.2 武汉累计确诊人数和死亡人数
> wh = subset(all['湖北',], city == '武汉')
> wh
            time province city cum_confirm cum_heal cum_dead suspected
167   2020-01-25     湖北 武汉         572       32       38         0
356   2020-01-26     湖北 武汉         618       40       45         0
532   2020-01-28     湖北 武汉        1590       47       85         0
881   2020-01-29     湖北 武汉        1905       54      104         0
1058  2020-01-30     湖北 武汉        2261       54      129         0
1458  2020-01-31     湖北 武汉        2639      103      159         0
1891  2020-02-01     湖北 武汉        3215      106      192         0
2507  2020-02-02     湖北 武汉        4109      175      224         0
2932  2020-02-03     湖北 武汉        5142      228      265         0
3160  2020-02-04     湖北 武汉        6384      306      313         0
3683  2020-02-05     湖北 武汉        8351      374      362         0
3979  2020-02-06     湖北 武汉       10117      455      414         0
4296  2020-02-07     湖北 武汉       11618      542      478         0
4698  2020-02-08     湖北 武汉       13603      747      545         0
5423  2020-02-09     湖北 武汉       14982      878      608         0
5551  2020-02-10     湖北 武汉       16902     1046      681         0
6112  2020-02-11     湖北 武汉       18454     1242      748         0
6277  2020-02-12     湖北 武汉       19558     1380      820         0
6811  2020-02-13     湖北 武汉       32994     1923     1036         0
7255  2020-02-14     湖北 武汉       35991     2023     1016         0
7910  2020-02-15     湖北 武汉       37914     2535     1123         0
8078  2020-02-16     湖北 武汉       39462     2925     1233         0
8392  2020-02-17     湖北 武汉       41152     3507     1309         0
9097  2020-02-18     湖北 武汉       42752     4253     1381         0
9523  2020-02-19     湖北 武汉       44412     5040     1497         0
9661  2020-02-20     湖北 武汉       45027     5598     1585         0
10086 2020-02-21     湖北 武汉       45346     6281     1684         0
10511 2020-02-22     湖北 武汉       45660     7292     1774         0
10937 2020-02-23     湖北 武汉       46201     8189     1856         0

武汉疫情

4.3 浙江累计确诊人数和死亡人数
hz = subset(all['浙江',], city == '杭州')
hz
p2 <- ggplot(wh,aes(x = time)) + 
  geom_line(hz, mapping = aes(y = cum_confirm,color = "cum_confirm"),size = 1) +
  geom_point(hz, mapping = aes(y = cum_confirm,color = "cum_confirm"),size = 1.5) +
  geom_line(hz, mapping = aes(y = cum_dead,color = "cum_dead"),size = 1) +
  geom_point(hz, mapping = aes(y = cum_dead,color = "cum_dead"),size = 1.5) +
  labs(y = "人数", x = "时间",  title = "新冠肺炎疫情(杭州)", 
       color = "")  +
  scale_color_manual(labels = c("累计确诊", "累计死亡"),values = colors) +
  theme_bw() + theme(plot.title = element_text(size = 16,hjust = 0.5),
                     legend.position = c(0,1),legend.justification = c(0,1),
                     legend.text = element_text(size=12),
                     legend.background = element_blank())

杭州疫情

武汉的疫情依然没有显著好转,宜昌和杭州这两地已经稳定,应该把治愈出院人数减出去,看确诊的存量变化,下次再研究吧!

今天2月25号,仔细看看宜昌疫情。
library(nCov2019)
all = load_nCov2019()
yc = subset(all['湖北',], city == '宜昌')
yc
library(ggplot2)
colors <- c("cum_confirm" = "blue", "cum_dead" = "red", 
            "cum_heal" ="yellow","cum_stock" = "green" )
p <- ggplot(yc,aes(x = time)) + 
  geom_line(yc, mapping = aes(y = cum_confirm,color = "cum_confirm"),size = 1) +
  geom_point(yc, mapping = aes(y = cum_confirm,color = "cum_confirm"),size = 1.5) +
  geom_line(yc, mapping = aes(y = cum_dead,color = "cum_dead"),size = 1) +
  geom_point(yc, mapping = aes(y = cum_dead,color = "cum_dead"),size = 1.5) +
  geom_line(yc, mapping = aes(y = cum_heal,color = "cum_heal"),size = 1) +
  geom_point(yc, mapping = aes(y = cum_heal,color = "cum_heal"),size = 1.5) +
  geom_line(yc, mapping = aes(y = (cum_confirm-cum_heal),color = "cum_stock"),size = 1) +
  geom_point(yc, mapping = aes(y = (cum_confirm-cum_heal),color = "cum_stock"),size = 1.5) +
  labs(y = "人数", x = "时间",  title = "新冠肺炎疫情(宜昌)", 
       color = "")  +
  scale_color_manual(labels = c("累计确诊", "累计死亡", "累计出院","确诊未出院"),values = colors) +
  theme_bw() + theme(plot.title = element_text(size = 16,hjust = 0.5),
                     legend.position = c(0,1),legend.justification = c(0,1),
                     legend.text = element_text(size=12),
                     legend.background = element_blank())
p 
宜昌疫情
上一篇下一篇

猜你喜欢

热点阅读