R“映射”包和等值线

时间:2013-08-06 12:29:53

标签: r maps heatmap

我想在R中使用 maps 包进行一个等式。我已经构建了数据来创建箱子并将颜色名称与这些箱子相关联。现在,在本例中,我需要使用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)

1 个答案:

答案 0 :(得分:0)

因此,经过多次迭代后,这是解决方案的本质。这些规则有助于解决问题,而不是提供使其有效的R代码(相当平淡)。

  1. 包中包含的county.fips数据包含一个包含所有州和县名称的列。这显示了县名匹配的格式,它们都是小写的,“州,县”,没有空格。
  2. 对于NC子集,有102个条目,而不是100个,因为Currituck县被细分为三个实体。这是大多数/所有问题的根源,很难诊断但很容易解决。
  3. 解决方案1 ​​ - 将颜色矢量与县的矢量匹配。 102个颜色条目正确的ALPHA ORDER 将产生正确的合唱等级。如果你试图为美国的所有县做这件事,那么最快,但也最不方便。

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