等值线世界地图

2023-12-19

我读了很多帖子和文章,但不断出现错误。我正在尝试制作一个等值线?使用我从全球恐怖主义数据库获得的数据绘制的世界地图。我想根据击杀次数或仅根据该国家/地区的攻击次数对国家进行着色。我现在不在乎。由于拥有数据的国家太多,因此绘制任何图表来显示这些数据是不合理的。

非常感谢您的帮助,如果我没有正确询问这个问题,我真诚地道歉,我正在学习这个网站的规则。

我的代码(到目前为止..)

library(maps)
library(ggplot2)
map("world")
world<- map_data("world")
gtd<- data.frame(gtd)
names(gtd)<- tolower(names(gtd))
gtd$country_txt<- tolower(rownames(gtd))
demo<- merge(world, gts, sort=FALSE, by="country_txt")

在 gtd 数据框中,国家列的名称是“country_txt”,所以我想我会使用它,但在 fix.by(by.x, x) 中出现错误:“by”必须指定唯一有效的列

如果那行得通,我会像我在一些网站上看到的那样进行绘图。 老实说,我已经在这方面工作了很长时间,并且阅读了很多代码/其他类似问题/网站/R 手册等。当涉及到 R 时,我会很乐意寻求一些帮助,我会接受我的无能。


像这样的东西吗?这是一个使用的解决方案rgdal and ggplot。我很久以前就放弃了使用 R 基础来做这类事情。

library(rgdal)        # for readOGR(...)
library(RColorBrewer) # for brewer.pal(...)
library(ggplot2)
setwd(" < directory with all files >")

gtd        <- read.csv("globalterrorismdb_1213dist.csv")
gtd.recent <- gtd[gtd$iyear>2009,]
gtd.recent <- aggregate(nkill~country_txt,gtd.recent,sum)
world      <- readOGR(dsn=".",
                      layer="world_country_admin_boundary_shapefile_with_fips_codes")

countries <- world@data
countries <- cbind(id=rownames(countries),countries)
countries <- merge(countries,gtd.recent, 
                   by.x="CNTRY_NAME", by.y="country_txt", all.x=T)
map.df <- fortify(world)
map.df <- merge(map.df,countries, by="id")
ggplot(map.df, aes(x=long,y=lat,group=group)) +
  geom_polygon(aes(fill=nkill))+
  geom_path(colour="grey50")+
  scale_fill_gradientn(name="Deaths",
                       colours=rev(brewer.pal(9,"Spectral")),
                       na.value="white")+
  coord_fixed()+labs(x="",y="")

全球恐怖主义数据库有多个版本。我使用了可用的完整数据集here http://www.start.umd.edu/gtd/contact/,然后对 > 2009 年进行子集化。因此,此地图显示了 2010-01-01 至 2013-01-01 期间按国家/地区划分的恐怖主义造成的总死亡人数(此来源提供的最后数据)。这些文件可作为 MS Excel 下载,我将其转换为 csv 以导入到 R 中。

The 世界地图 http://geocommons.com/overlays/33578.zip可以作为 shapefile 从地理共享网站 http://geocommons.com/.

制作分区统计图的棘手部分是将数据与正确的多边形(国家/地区)相关联。这通常是一个四步过程:

  1. 在 shapefile 属性表中查找一个映射(无双关语)到数据中相应字段的字段。在本例中,shapefile 中的字段“CNTRY_NAME”似乎映射到 gtd 数据库中的字段“country_txt”。
  2. 创建多边形 ID(存储在属性表的行名称中)和 CNTRY_NAME 字段之间的关联。
  3. 使用 CNTRY_NAME 和country_txt 将结果与您的数据合并。
  4. 将其结果与使用创建的数据框合并fortify(map)- 这将多边形与死亡联系起来(nkill).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

等值线世界地图 的相关文章

  • Shiny:如何在数据表中显示条形图

    我想在数据表中显示条形图 这link http jsfiddle net annoyingmouse em27yod1 显示我想使用 javascript 做什么 我不了解 javascript 或 html 所以你能告诉我是否可以使用闪亮
  • 按列名合并 3 个 data.frames

    我有3个独立的data frames 他们三个data frames具有相同的列数和相同的行数 此外 它们具有相同的列名称 我正在尝试根据列名称合并三个 data frames 我使用下面的代码来合并两个 data frames 并返回匹配
  • 如何根据R中的条件创建新变量

    我正在尝试根据某些条件创建一个新变量 我的数据看起来像 a b 1 NA 2 3 3 3 NA 2 NA NA 我想要的是一个变量c这样 when a is not NA b is NA c a when a is NA b is not
  • 如何在 Windows 上使用 freeType 构建 rgl

    我正在尝试 并且非常失败 建立rgl封装有freeType在 Windows 上 因为事实证明 rgl我通过 Rgui 安装的 Windows 二进制文件不包括freeType支持 我需要它的原因是this https stackoverf
  • 使用 markovchain 包计算观察序列的概率

    让我们使用来自的数据集这个问题 https stats stackexchange com questions 26722 calculate transition matrix markov in r dat lt data frame
  • 通过 rpy2 将 numpy 数组传递给 R 时出现不一致数组

    我正在尝试将 numpy 数组传递到 R 中的 GAMLSS 包 import numpy as np import rpy2 robjects as robjects from rpy2 robjects import numpy2ri
  • rollapply 可以返回矩阵列表吗?

    我想使用滚动窗口生成协方差矩阵 和均值向量 但在我所有的尝试中rollapply堆叠协方差矩阵cov并且耗尽了预先分配的空间 例如 如果我的原始数据有 40 个观察值 那么rollapply不能返回超过 40 行 有什么方法可以让我得到ro
  • 如何在 bookdown 定理或示例环境中使用内联 R 代码

    我使用 bookdown 生成 html 和 PDF 文档 如何在定理和示例环境中使用内联 R 代码的结果 这是我尝试过的 title Test output bookdown pdf book toc false html documen
  • 合并行并用 group_by 和? 填充空位置

    对 R 编码非常陌生 我一直在尝试使用 dplyr 中的 group by 格式化 合并 df 中的行 然而 我还没有完全做到这一点 这是我的数据表的简化 前三个条目共享相同的 id 最后两个条目共享相同的 id ID Assay1 Ass
  • 是否有任何 R 函数可以将链接的值可视化为节点内的文本?

    我正在使用 R 包networkD3绘制以下桑基图 这些值设置链接的大小 我需要一个在节点内添加与文本相同的值的函数 Library library networkD3 library dplyr Make a connection dat
  • R 脚本 - 如何在错误时继续执行代码

    我编写了一个 R 脚本 其中包含一个检索外部 Web 数据的循环 数据的格式大多数时候是相同的 但有时格式会以不可预测的方式发生变化 并且我的循环崩溃 停止运行 有没有办法不管错误如何继续执行代码 我正在寻找类似于 VBA 中的 On er
  • 如何查找页面上R图形的字节大小?

    我想监控 R 在各个页面上生成的图形的基本质量 例如每个页面的字节大小 我现在只能对平均页面进行质量保证 请参阅下面的章节 我认为这项任务必须有一些比一般措施更内置的东西 生成 4 页的代码Rplots pdf我想知道此处输出中每个页面的字
  • 从数据框中的列中删除小数

    我有一个数据框 列中有数字 这些数字是小数 我想删除列中的小数和整数 我的数据框expsrs看起来像这样 ENSG00000226823 1 15 14 4947 22 5606 13 5819 5 09327 16 8503 ENSG00
  • R如何在ggplot2中为金字塔状图添加面标签

    我创建了类似金字塔的图 我想为图的每一侧添加标签 类似于小平面标签 我的数据 dt lt data frame Answer factor x rep x c 1 3 times 2 labels c Yes No Maybe Gender
  • R:连接到 Teradata 时 JDBC() 找不到 Java 驱动程序路径

    我正在尝试通过 RStudio 连接到 Teradata 但由于某种原因 JDBC 函数在识别 Java 驱动程序所在的路径时出现问题 请参阅下面的代码 library RODBC library RJDBC library rJava b
  • 使用 R.Net 版本 1.5.5 创建 REngine 实例

    我正在尝试创建一个 Hello World 示例R Language using R Net版本1 5 5 从 NuGet 加载 不幸的是 我见过的在线示例都不起作用 这就是我所做的 已安装Microsoft R Open 3 2 4 增强
  • 如何在 R闪亮中使操作不间断

    在我闪亮的应用程序中 我有一个应该不断更新自身的输出 但是每当我执行长时间运行的计算时 输出就会暂停 我的问题是 如何让输出持续不间断地运行 请参阅下面的简短演示 时钟每一秒刷新一次 但如果我单击运行 5 秒的按钮 时钟就会暂停 libra
  • 如何在 RStudio 窗口模式下设置闪亮的应用程序大小?

    我想知道是否有办法在 RStudio 中以预先指定的窗口大小的窗口模式启动闪亮应用程序 我通过使用以下代码创建新文件找到了解决方法 library shiny vwr dialogViewer modellvergleiche irt wi
  • 绘制 grobs 列表

    披露 我不确定如何为这个问题制作一个可重现的例子 我正在尝试使用以下方法绘制 grobs 列表gridExtra包裹 我有一些代码看起来像这样 Make Graphic Objects for Spec and raw traces for
  • 将列类型转换为数字时更改值

    我有一个具有上面格式的数据文件 我将其加载到 R 中 并尝试使用 dist 列中的值绘制直方图 但出现错误 x 必须是数字 因此我尝试更改格式 gt head data V1 V2 1 type gene dist 2 A 64667 3

随机推荐