【问题标题】:R "maps" package and choroplethsR“地图”包和等值线
【发布时间】:2013-08-08 23:17:02
【问题描述】:

我想用 R 中的 ma​​ps 包制作一个等值线。我有构建的数据来创建 bin 并将颜色名称与这些 bin 相关联。现在,在本例中,我需要使用 col= 参数将颜色指向县。我如何构建这个论点?我会认为构建一个数据框会将县和颜色关联在同一条线上?这不是真的吗?到目前为止,我有以下内容

示例数据:

County    |  Value | Bin | Color
alamance  |   100  | 1   | white
brunswick |  1000  | 2   | red
 ... through 100 counties

R 代码(不起作用):

library("maps")
DATA <- read.csv("~/Example_Data.csv")
DATA$County <- as.character(DATA$County)
DATA$Color <- as.character(DATA$Color)
NC <- map('county', 'north carolina', col= DATA$Color, Fill=TRUE)

【问题讨论】:

  • 你有没有看过你的数据集中的措辞。请为您的问题提供一个示例以及您的*.csv 文件的一些数据。
  • 你从哪里得到错误?
  • 数据已经过清理和标准化,以反映驱动县名的地图包数据库。它与上面给出的示例基本相同。错误发生在创建地图图时,但随机颜色显示为填充(不是由 DATA$Color 指定的颜色)。我无法确定如何关联县名和 col= 元素中的颜色填充。

标签: r maps heatmap


【解决方案1】:

所以,经过多次迭代,这里才是解决方案的精髓所在。这里没有给出使它工作的 R 代码(相当乏味),而是帮助解决问题的规则。

  1. 包中包含的county.fips 数据有一列包含所有州和县的名称。这揭示了县名匹配的格式,都是小写的,“州,县”,没有空格。
  2. 对于 NC 子集,有 102 个条目,而不是 100 个,因为 Currituck 县被细分为三个实体。这是大多数/所有问题的根源,很难诊断但很容易解决。

解决方案 1 - 将颜色向量与县向量匹配。 在正确的 ALPHA 顺序中 的 102 个颜色条目将产生正确的等值线。如果您尝试为美国所有县执行此操作,速度最快,但也最不方便。

解决方案 2 - 将 fips 代码添加到原始数据,然后匹配 fips。由于county.fips 文件将Currituck 实体列为“north carolina,currituck:main”等,因此仍需要进行一些操作或查找外部fips 参考。这是 maps() 文档中使用的方法,但是会花费太长时间,所以我更喜欢前者。但是,例如,花点时间可以让您接近一个国家数据集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-09
    • 2012-03-08
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多