二阳大规模来袭,热图地图分析新冠疫情期间的高发地点,掌握防控重点!

news2024/11/24 4:48:50

一、概述

最近,新冠疫情似乎又要“卷土重来”...

身边逐渐有人传来“二阳”或者“三羊”的消息,网上相关的讨论和报道也变得越来越多。

「钟南山院士」在大湾区科学论坛上的发言,预测模型seirs显示,第二波新冠疫情已于4月中旬开始,5月底波峰约为每周4000万人次,6月底波峰预计将接近每周6500万人次。这意味着我们需要加强对疫情的警惕,并采取必要的防疫措施,以保护自己和家人的健康。

作为一位R语言医学统计分析科研爱好者,我觉得有必要画出热图地图,作为出行的参考和预测重点的参考!

二、数据获取

library(tidyverse)
library(ggplot2)
library(ggmap)
library(readr)
library(lubridate)

# 读取 COVID-19 数据确诊病例
covid_data <- read_csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv")

# 将数据转化为长格式
covid_data_long <- covid_data %>%
  pivot_longer(cols = -c(1:4), names_to = "date", values_to = "cases") %>%
  mutate(date = mdy(date))

# 转换数据列名
covid_data_long$Country.Region <- covid_data_long$"Country/Region"

start_date <- as.Date("2020-01-01")
end_date <- as.Date("2021-12-31")
# 提取指定日期范围内的数据
covid_data_filtered <- covid_data_long %>%
  filter(date >= start_date & date <= end_date) %>%
  group_by(Country.Region, Lat, Long) %>%
  summarize(cases = sum(cases))
  
covid_data_filtered

结果显示:

# A tibble: 288 × 4
# Groups:   Country.Region, Lat [287]
   Country.Region        Lat   Long      cases
   <chr>               <dbl>  <dbl>      <dbl>
 1 Afghanistan          33.9  67.7    48020131
 2 Albania              41.2  20.2    54833685
 3 Algeria              28.0   1.66   67756363
 4 Andorra              42.5   1.52    5767152
 5 Angola              -11.2  17.9    16140555
 6 Antarctica          -71.9  23.3         198
 7 Antigua and Barbuda  17.1 -61.8      712340
 8 Argentina           -38.4 -63.6  1588547481
 9 Armenia              40.1  45.0   100794594
10 Australia           -42.9 147.       149920
# ℹ 278 more rows
# ℹ Use `print(n = ...)` to see more rows


三、热图地图生成

3.1 ggmap+ggplot2

# 使用 ggplot2 绘制世界热力图
world <- map_data("world")



world_map <- ggplot() +
  # 绘制地图边界和外观
  geom_map(data = world, map = world,
           aes(map_id = region),
           fill = "white", color = "black", size = 0.15) +
  # 绘制各国病例数点
  geom_point(data = covid_data_filtered, 
             aes(x = Long, y = Lat, size = cases, color = cases),
             alpha = 0.8) +
  # 指定热力图颜色范围
  scale_color_gradient(low = "#f2f0f7", high = "red") +
  # 调整点大小范围
  scale_size(range = c(120)) +
  # 调整标题、副标题和标注
  labs(x = NULL, y = NULL,
       title = "World COVID-19 Confirmed Cases Heatmap",
       subtitle = "Jan 2020 - Dec 2021",
       caption = "Data from Johns Hopkins University Center for Systems Science and Engineering") +
   # 调整颜色条样式
  theme(legend.position = "bottom") +
  # 隐藏背景、网格线和图例框架
  theme(panel.background = element_rect(fill = "white"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        axis.line = element_blank(),
        axis.text = element_blank(),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        plot.title = element_text(size = 20,  hjust = 0.5),
        plot.subtitle = element_text(size = 15, hjust = 0.5, margin = margin(b = 20)),
        plot.caption = element_text(size = 12, color = "gray", hjust = 1, margin = margin(t = 20, l = 20)),
        legend.title = element_blank(),
        legend.text = element_text(size = 12),
        legend.key.width=unit(0.3"cm"),
        legend.key.height=unit(0.3"cm"),
        legend.margin = margin(t = 100),
        legend.key = element_rect(fill = "white",color = NA))
       
world_map

这个结果是可以展示出来,但是不是很美观。

3.2 REmap

3.2.1 安装REmap

# R仓库里面没有这个包,需要从Github上下载
install.packages("devtools")
library(devtools)
install_github('lchiffon/REmap')
library(REmap)

「如果需要安装方法,关注和私信我,欢迎一起讨论学习」

3.2.2 绘制热图remapC

  1. 数据格式说明:国家/城市+密度
dataC <- subset(covid_data_filtered,select=c(1,4))


dataC_group <- dataC %>%
  group_by(Country.Region) %>%
  summarize(cases = sum(cases))


data <- data.frame(
  country = dataC_group$Country.Region,
  value = dataC_group$cases)
  
# 移除44行,这个数据我也不知道为啥有就报错
data <- data[-44,]

data

结果展示:

      country    value
1 Afghanistan 48020131
2     Albania 54833685
3     Algeria 67756363
4     Andorra  5767152
5      Angola 16140555
6  Antarctica      198
  1. 画图
out = remapC(data,maptype = "world",color = 'red')
out

3.2.3 绘制中心热度图remapH

  1. 数据格式说明:国家/城市+密度
dataH <- subset(covid_data_filtered,select=c(2,3,4))


dataH_group <- dataH %>%
  group_by(Lat,Long) %>%
  summarize(cases = sum(cases))
  
data <- data.frame(
  lon = dataH_group$Long,
  lat = dataH_group$Lat,
  prob = dataH_group$cases) 

data

结果展示:

       lon      lat       prob
1  23.3470 -71.9499        198
2 -59.5236 -51.7963      26527
3 147.3272 -42.8821     149920
4 174.8860 -40.9006    2068784
5 -63.6167 -38.4161 1588547481
6 144.9631 -37.8136   18904976
  1. 画图
map_out<-remapH(data,
       maptype = 'world',
       blurSize = 70,
       color = "red",
       minAlpha = 10,
       opacity = 1,
       )

map_out

3.2.4 reportB画出足迹迁徙图(可伸缩)

可以用来追踪感染源的运动足迹!

destination=c("上海","广州","济南","大连","成都","长春","太原","西宁","乌鲁木齐","拉萨")

origin=rep("西安",length(destination))

map_data=data.frame(origin,destination) 

画图:

map_out1=remapB(zoom=5,color="dark",title="",subtitle="", markLineData=map_data,markPointData=destination,markLineTheme=markLineControl(symbol=NA,symbolSize=c(0,4),smooth=T, smoothness=0.2,effect = T,lineWidth = 2,lineType="dotted",color="white"),markPointTheme=markPointControl(symbol="heart",symbolSize = "Random",effect = T, effectType = "scale", ))

map_out1

3.2.5 remap迁徙地图

  1. 数据集
destination=c("济南","北京","郑州","西安","哈尔滨","乌鲁木齐","兰州","成都","长沙")

origin=c("北京","哈尔滨","乌鲁木齐","兰州","成都","长沙","北京","郑州","西安")

map_data=data.frame(origin,destination) 
  1. 画图
map_out=remap(mapdata=map_data,title="",theme=get_theme(theme='Dark'))
map_out

3.2.6 小结

  • 「remap」 : 最为基础的一个函数,可绘制路径迁徙图;

  • 「remapB」:通过调用百度地图画出一个可通过鼠标进行伸缩的地图;

  • 「remapC」:用于创建分级统计图(Choropleth map).即根据子区域数值的多少进行深浅不同的颜色填充的地图形式.目前支持的地图为:‘china’ 中国省份地图;‘world’ 世界地图;各省市地图,如"北京",常见于疫情防控,阅读数据报表等

  • 「remapH」:可以做中心辐射的热力图,这种热力图多用于跟地理信息相关的数据呈现,也可以用来做疫情相关的数据呈现

我愿意称为目前我掌握的包里最好用的地图相关的包,使用简单方便,一行代码,而且图都比较美观大气。

四、未来热图地图的发展和展望

  1. 数据质量和可靠性的提高

未来热图地图的数据来源将更加稳定,数据检查和分析方法将更加先进,数据可靠性将有所提高。这将使生成的热图地图更加准确地反映实际情况。

  1. 算法优化和技术创新

随着科技的发展,热图地图算法和技术将不断更新和优化,例如深度学习等技术的应用将推动热图地图更加精确和高效地生成。

  1. 实用性的提高

热图地图不再局限于一些研究领域的学术用途,而是成为生产生活各大领域,如城市规划、地质勘探、疫情防控等领域的重要工具,逐渐走向实际应用。未来热图地图的实用性将更加突出。

  1. 可视化和交互性的进一步提高

随着互联网技术的发展,热图地图的可视化和交互性将得到进一步提高,用户可进行更加灵活和便捷的操作,实现更加精准的数据可视化和分析。

总之,未来热图地图将不断发展和创新,为许多领域提供更好的解决方案。

五、疫情防控

虽然人们经历过第一波疫情,但仍需保持警惕,不能放松对病毒的防范。尽管二阳的症状较为轻微,死亡率低,但老年人和儿童等免疫力较弱的人群仍存在严重疾病甚至死亡的风险,因此需要更加重视防护措施。

如果可以的话,希望大家都不要二次感染,因为重复感染不仅可能对身体产生后遗症,还会增加治疗难度和经济负担。因此,我们必须保护自己和家人,尽可能避免感染。在即将到来的第二波疫情感染高峰期间,我们更需要保持警惕,采取必要的防护措施,共同平安渡过这个困难时期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/624567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

当数据汇聚成海,Excel 表成为我们的航海图,如何在茫茫数据中找到目标?——Excel 表中某个范围内的单元格遍历思路

本篇博客会讲解力扣“2194. Excel 表中某个范围内的单元格”的解题思路&#xff0c;这是题目链接。 先来审题&#xff1a; 以下是输出示例和提示&#xff1a; 这道题的解题思路是&#xff1a;模拟&#xff0c;遍历每一列&#xff0c;某一列遍历完后遍历下一列。 下面我们需…

爆肝整理,性能测试-全链路压测与普通压测区别总结,进阶高级测试...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 抛出一个问题&…

Shell脚本:expect脚本免交互

Shell脚本&#xff1a;expect脚本免交互 expect脚本免交互 一、免交互基本概述&#xff1a;1.交互与免交互的区别&#xff1a;2.格式&#xff1a;3.通过read实现免交互&#xff1a;4.通过cat实现查看和重定向&#xff1a;5.变量替换&#xff1a; 二、expect安装&#xff1a;1.…

Docker Registry部署

之前执行 docker pull的命令都是从 docker hub上拉取的&#xff0c;是docker 公共仓库&#xff0c;如果在公司中使用docker&#xff0c;我们不可能把自己的镜像上传到公共仓库&#xff0c;这个时候就需要一个自己的仓库&#xff08;私有仓库&#xff09;&#xff0c;在局域网之…

usb 驱动

usb 驱动 usb 的基本概念 这个忽略&#xff0c; 基本上usb 是啥都知道 usb 的拓扑结构 usb 是一种主从结构的系统 usb主机由usb主控之器&#xff08;Host Controller)和根集线器&#xff08;Root Hub&#xff09; 构成 usb 主控制器&#xff1a; 主要负责数据处理(就是我…

微信怎么批量自动添加好友?

如何批量加客户资源到微信&#xff0c;怎么加微信好友&#xff0c;这个基本上熟悉的人都会知道。 实际上&#xff0c;你知道所有添加微信好友的方式吗&#xff1f;或者说&#xff0c;你知道如何批量加客户微信吗&#xff1f; 比如说在一定时间内&#xff0c;把你所有的客户资…

AIGC文本生成智能应用(ChatGPT)提示工程师技巧

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天来看一下AIGC文本生成智能提示工程师技巧。 当你在使用类似于ChatGPT这样的AIGC文本生成智能应用时&#xff0c;有没有想过&#xff0c;你所问的问题中的每一个词语对AIGC文本生成智能应用给你的回答的好…

记忆的助记器|如何使用联想记忆法

联想记忆法&#xff0c;也被称为记忆宫殿技术&#xff0c;已经使用了数千年&#xff0c;其记录可以追溯到古罗马和希腊。虽然现代第二大脑工具抢走了它的一些人气&#xff0c;但联想记忆法仍然是最有效的记忆方法之一。下面是你为什么需要在你的知识管理系统中使用它。 什么是…

比较快捷的设置第三方app 有系统权限和签名

1. app 里面添加 android:sharedUserId"android.uid.system" 2.编译出app.apk ,拷贝到源码目录 里面有很多签名文件 build\target\product\security 3. 拷贝签名工具到这个目录 签名工具原目录 out/host/linux-x86/framework/signapk.jar 4.拷贝需要的库文件到这…

Retry重试机制(五十)

当新的世界出现&#xff0c;请立即向他奔去 上一章简单介绍了Melody 监控(四十九), 如果没有看过,请观看上一章 本章节文章参考: https://juejin.cn/post/7234107489390116925 https://blog.csdn.net/hongyuan19/article/details/118995696 一. 重试 一.一 什么是重试 重…

身份证信息查看 案例

7-14位&#xff1a;出生年、月、日 17位&#xff1a;性别&#xff08;奇数男性、偶数女性&#xff09; 人物信息为&#xff1a;出生年月日&#xff1a;XXXX年X月X日 性别为&#xff1a;男/女 /** Copyright (c) 2017, 2023, zxy.cn All rights reserved.**/ package cn.str…

做了大半年软测,上班接触不到技术性的东西,是在浪费时间吗?

最近接到粉丝私信&#xff0c;苦恼目前的工作状态&#xff1a; 来这个公司大半年&#xff0c;现在主要做的是类似于淘宝的购物商城&#xff0c;以前也做应用系统什么的&#xff0c;可是感觉公司的软件测试岗位都是不着边的&#xff0c;因为做的都是功能测试&#xff0c;来了这么…

让你的文字更出色:编辑和校对的有效策略

要让你的文字更出色&#xff0c;掌握编辑和校对的有效策略至关重要。 以下是一些建议&#xff0c;帮助你提高编辑和校对水平&#xff0c;让你的作品更具吸引力和说服力。 1.分阶段进行编辑和校对 编辑和校对最好分阶段进行。先进行大局观的编辑&#xff0c;关注文章结构、逻辑…

Wildfly配置Datasources

配置Datasources前&#xff0c;需要先配置对应的JDBC驱动&#xff0c;配置方法&#xff0c;可以参考&#xff1a; Wildfly配置mysql8.0的JDBC驱动 之后&#xff0c;配置对应的Datasources。配置方法有两种&#xff0c;一种是通过管理后台配置&#xff0c;一种是通过手工修改配…

GLaDOS加速网络套餐edu教育网邮箱免费使用

产品介绍 教育优惠分享的好处&#xff0c;就是能一对一接触到网友的真实需求和最新的教育优惠产品&#xff0c;今天的这款也是网友投稿分享。 GLaDOS用于教育&#xff1a;建立开放思想和开放社会 GLaDOS Education可帮助学生&#xff0c;教师和学校找到他们掌握网络所需的工具…

【Python爬虫+数据分析】采集电商平台数据信息,并做可视化演示

文章目录 前言一、准备工作二、分析目标网站1.商品信息 三、编写爬虫程序五、总结 前言 随着电商平台的兴起&#xff0c;越来越多的人开始在网上购物。而对于电商平台来说&#xff0c;商品信息、价格、评论等数据是非常重要的。因此&#xff0c;抓取电商平台的商品信息、价格、…

虚拟机中使用Nginx + Keepalived 实现高可用 Web 负载均衡笔记

环境介绍 物理操作系统&#xff1a;Windows10 虚拟机软件&#xff1a;VMWare Workstation 16 Pro 虚拟操作系统统&#xff1a;CentOS7 Nginx&#xff1a;1.24.0 Keepalived&#xff1a;2.2.8 资源规划 在VMWare Worksattion中安装了2台CentOS7的虚拟机&#xff0c;桥接方式下…

ROS:常用可视化工具的使用

目录 一、日志输出工具——rqt_console二、绘制数据曲线——rqt_plot三、图像渲染工具——rqt_image_view四、图形界面总接口——rqt五、Rviz六、Gazebo 一、日志输出工具——rqt_console 启动海龟键盘控制节点&#xff0c;打开日志输出工具 roscorerosrun turtlesim turtles…

项目资源利用率是什么?如何提高?

任何项目经理的主要职责之一是跟踪项目资源&#xff0c;以便在需要时随时可用。为此&#xff0c;他们必须衡量资源利用率。通过计算资源利用率&#xff0c;项目经理和企业主可以更好地了解如何安排劳动力或设备等资源&#xff0c;以尽量降低成本&#xff0c;提高生产力&#xf…

Android关于图片资源管理的思考

作者&#xff1a;流浪汉kylin 一. 前言 当我们的项目比较大时&#xff0c;迭代的时间比较长的时候&#xff0c;我们往往都会对代码进行重构&#xff0c;会对代码进行一次系统的整合和规范的讨论&#xff0c;为了之后的开发能够避免写重复的代码&#xff0c;方便代码的维护和扩…