使用 ggplot 从 SpatialPolygonsDataFrame 创建分区统计图

2024-01-13

我有一个来自 UScensus2010 包的 SpatialPolygonsDataFrame 。我正在尝试创建一个分区统计图。当我这样做时,这将按预期工作:

data(colorado.county10)
choropleth(colorado.county10,
           "P0010001",
           color = list(fun = "rainbow", 
                        attr = list(4)),
           main="2010 US Counties",
           type="plot",
           border="black")

但由于未找到“P0010001”而失败

data(colorado.county10)
ggplot(colorado.county10, aes(long, lat, group = group)) +
  geom_polygon(aes(fill = P0010001), colour = alpha("white", 1/2), size = 0.2) +
  scale_fill_brewer(pal = "PuRd")

当我试图弄清楚这一点时,我注意到 colorado.county10$P0010001 返回一个数字数组,但 colorado.county10["P0010001"] 返回一个 SpatialPolygonsDataFrame。

对正在发生的事情有什么见解吗?


如果你想使用ggplot你需要强制SpatialPolygonsDataFrame to a data.frame.

ggplot2提供了一些fortify将创建正确格式的数据的方法。

目前fortify.SpatialPolygonsDataFrame方法不保留data组件,它确实提供了一个列id其中包含来自data.framedata原来的插槽SpatialPolygonsDataFrame.

注意data.frames是存储此信息的低效方法(每个多边形的每个顶点 1 行)。

因此,以下内容可以工作,但速度很慢并且可能会导致内存问题

c10 <- fortify(colorado.county10)

c10d <- cbind(c10, colorado.county10@data[c10$id,])

ggplot(c10d, aes(long, lat, group = group)) +
   geom_polygon(aes(fill = factor(P0010001)), colour = alpha("white", 1/2), size = 0.2) +
   scale_fill_brewer(pal = "PuRd") 

Using base绘图功能会更快,并且不会占用太多资源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ggplot 从 SpatialPolygonsDataFrame 创建分区统计图 的相关文章

  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • R 中的快速 QR 分解

    我有大量矩阵 需要对其执行 QR 分解并存储生成的 Q 矩阵 进行归一化 以便 R 矩阵在其对角线上具有正数 除了使用之外还有其他方法吗qr 功能 这是工作示例 system time Parameters for the matrix t
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • 在 R 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 基于时间窗口的不规则时间序列的优化滚动函数

    有没有办法使用 rollapply 来自zoo包或类似的东西 优化功能 rollmean rollmedian等 使用基于时间的窗口计算滚动函数 而不是基于大量观察的函数 我想要的很简单 对于不规则时间序列中的每个元素 我想计算一个具有 N
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 如何在 R 或 Python 中制作旭日图?

    到目前为止 我一直无法找到一个可以创建旭日图的 R 库约翰 斯塔斯科 http www cc gatech edu gvu ii sunburst 有人知道如何在 R 或 Python 中实现这一点吗 在极坐标投影中使用 matplotli
  • 所有 x 轴标签未以 45 度显示

    I m having the code as like below But I m not getting all the x axis labels and it is not displaying in 45 degree when I
  • 为什么 R 更新后 sim_slopes() 中会出现此错误?

    我正在尝试使用 交互 包来创建简单斜率的约翰逊 尼曼图 但是 当尝试运行 sim slopes 函数时 出现以下错误 直到我将R更新到4 2 2 我才没有遇到这个问题 我使用的是 macOS Ventura 13 1 Error class
  • 将不均匀的层次列表转换为数据框

    我认为还没有有人问过这个问题 但是有没有一种方法可以将具有多个级别和不均匀结构的列表的信息组合成 长 格式的数据帧 具体来说 library XML library plyr xml inning lt http gd2 mlb com c
  • 如何使用 SparkR 1.6.0 写入 JDBC 源?

    使用 SparkR 1 6 0 我可以使用以下代码从 JDBC 源读取数据 jdbc url lt jdbc mysql localhost 3306 dashboard user
  • 如何在将两根柱子保持在一起的同时熔化柱子?

    我有这种宽格式的数据 我想将其转换为长格式 Cond Construct Line Plant Tube shoot weight shoot Tube root weight root 1 Standard NA NA 2 199 95
  • 条件字体颜色 R Markdown

    我无法找到一种方法来根据变量的值 gt 0 0 或 r setup include FALSE x lt 4 This is an R Markdown document r if x gt 0 textcolor red Markdown
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • 实三次多项式的最快数值解?

    R 问题 寻找最快的方法来数值求解一堆已知具有实系数和三个实根的任意三次方程 据报道 R 中的 polyroot 函数对复杂多项式使用 Jenkins Traub 算法 419 但对于实多项式 作者参考了他们早期的工作 对于实三次或更一般的
  • 如何使用 tidymodels 和工作流集在同一数据集上拟合多个不同的线性模型

    我想评估同一数据集上多个 主要是 线性回归模型的性能 我想也许使用tidymodels包连同workflowsets workflow set 可能会起作用 我按照这个例子here https workflowsets tidymodels

随机推荐

  • Node/Express 的 MongoDB 示例 AJAX 调用?

    这是从一个非常基本的页面开始 HTML 表单 一个按钮和一个 div 框 单击按钮将通过 AJAX POST 表单数据 数据将存储在 MongoDB 中 并在不刷新页面的情况下检索到 div box 中 来自index html的AJAX
  • VMWare 如何防止虚拟机更新其日期和时间

    我想知道虚拟机 VMWare 如何更新其日期和时间以及如何禁用它 因为我注意到 即使我将虚拟机暂停 关闭一年 当我再次打开它时 它也会有正确的时间和日期 对于物理机 我知道主板上固定的中央单元内有一个小电池 有助于在计算机关闭并断开电源时保
  • Apache Zeppelin 0.6.1:运行 Spark 2.0 Twitter Stream 应用程序

    我有一个安装了 Spark 2 0 和 Zeppelin 0 6 1 的集群 自从上课以来TwitterUtils scala从 Spark 项目移至 Apache Bahir 我无法再在我的 Zeppelin 笔记本中使用 Twitter
  • C# 中实现相等性的最少代码

    In this Eric Lippert 在第 9 点中指出 C 具有 太多的平等性 他指出有 9 或 10 种不同的方法或运算符可以重载以提供对象相等性 我的第一个问题是 如果重写 Object Equals object 方法 编译器是
  • Linux 下 Java 的虚拟内存使用情况,使用了太多内存

    我在 Linux 下运行 Java 应用程序时遇到问题 当我使用默认最大堆大小 64 MB 启动应用程序时 我看到使用 tops 应用程序为该应用程序分配了 240 MB 虚拟内存 这会给计算机上的一些其他软件带来一些问题 而计算机的资源相
  • 调整标题大小 onscroll React

    我基本上需要在 React 中重写这个 codepen https codepen io lili2311 pen dJjuL https codepen io lili2311 pen dJjuL function resizeHeade
  • 伪随机数生成器给出相同的第一个输出,但随后表现如预期

    使用随机类和时间种子 NULL 均匀分布总是给出相同的第一个输出 即使使用不同的编译 但第一个输出之后的行为就像您期望的伪随机数生成器的行为一样 这是建筑造成的 还是我使用不当 MWE include
  • 在“ForEach”上引用初始值设定项“init(_:content:)”要求“Planet”符合“可识别”

    我目前正在构建一个 ios 应用程序 似乎有以下问题 Referencing initializer init content on ForEach requires that Planet conform to Identifiable
  • 适用于 Android 的 OpenGL ES 2.0 中的纹理

    我是 OpenGL 新手 我正在通过使用 ES 2 0 为 Android 制作 2D 游戏来自学 我首先创建一个 Sprite 类 该类创建一个平面并向其渲染纹理 为了练习 我有两个 Sprite 对象 它们在同一位置交替绘制 我在 ES
  • 普通用户无法读取/proc/net/dev

    我很确定我在这里遗漏了一些东西 但我不确定到底是什么 这是 root 可以看到的 root opteron16 ls l grep proc dr xr xr x 290 root root 0 2012 01 14 02 03 proc
  • Caddy - 在本地域上设置 HTTPS

    我想将 HTTPS 添加到我的本地域 但是我们无法在本地主机上执行此操作 当我使用此 Caddyfile 运行时 我的网站运行良好 localhost 2020 bind ADDRESS proxy http 192 168 100 82
  • Android中的ListView打开超链接

    有什么办法可以显示名称吗 TechCrunch Twit NASA 在列表视图中 当用户单击其中一个时 它应该打开一个意图 其中包含列出的相应网站的链接 任何想法表示赞赏 如果你不想要ListView由数据库生成 并且您希望将每个网站添加到
  • 无论如何将构造函数参数传递给 JAXB 适配器?

    我在我编写的 WebService 中使用 Spring 3 IOC 和 JAXB JAX WS 我现在遇到一个小问题 数据必须在返回给消费者之前进行四舍五入 因为它们无法处理值的完整精度 为了最大限度地减少对 WS 设计和计算的影响 我选
  • Eclipse:有没有办法快速导出JAR

    所以这可能看起来有点模糊 快 到底有多快等等 好吧 我只是想知道是否有一种方法可以比以下更快地导出 JAR 文件 File gt Export gt JAR File等等等等 就像我可以Ctrl Drag到资源管理器并导出项目标题和 jar
  • 删除继承的 ASP.NET Core 应用程序设置

    我的启动中有以下设置 var builder new ConfigurationBuilder AddJsonFile appsettings json true true AddJsonFile appsettings env Envir
  • Google Charts 堆叠了列,每个列都有不同的注释

    我希望你能帮助我解决这个问题 我有一个堆积柱形图 所有柱形图的每列中都有两个要堆积的值 我已经成功创建了图表 但我需要为每列的每一部分添加注释 我不知道它的正确名称 指示该部分在其自己的列中所代表的总数的百分比 在下面给出的示例中 我需要设
  • 如何在 Java Swing for Hangman 游戏中获取从侦听器更新的文本字段?

    我正在尝试从 Hangman 程序编写代码 我不确定这个想法是否正确 我正在考虑在文本字段中添加破折号 当用户按下按钮时 该破折号必须动态更改 例如 如果用户按下下面代码中的 A 按钮 则破折号应更改为 A 即用户猜对了字母A 我仍然对如何
  • 将带点或逗号的字符串转换为浮点数

    我总是喜欢在函数中输入以获取范围从 0 1 到 999 9 的数字 小数部分始终用 分隔 如果没有小数则没有 例如 9 或 7 无论本地化如何 如何将此字符串转换为浮点值 某些国家 地区使用 来分隔数字的小数部分 我总是用 来获取它 这取决
  • 在进程之间移动数据

    我问这个问题的原因是寡妇不支持进程间通信的好方法 所以我想为Windows进程之间的通信点创建一个DLL 线程由一个进程拥有 不能交给另一个进程 每个线程都有自己的堆栈 如果加载 DLL loadlibray 并调用 DLL 函数 该函数会
  • 使用 ggplot 从 SpatialPolygonsDataFrame 创建分区统计图

    我有一个来自 UScensus2010 包的 SpatialPolygonsDataFrame 我正在尝试创建一个分区统计图 当我这样做时 这将按预期工作 data colorado county10 choropleth colorado