2

我正在使用 choroplethr 为美国各州(在人口普查区级别)的某种健康结果的比率生成 choropleths。在与程序搏斗后,我能够让它运行,但我想修改垃圾箱。我找到了有关如何手动中断代码的链接:(https://www.r-bloggers.com/advanced-choroplethr-customized-bins/

我手动编码了我的垃圾箱,但所以我编码了我的切割点,生成的地图如下所示:

生成的地图

我最低的垃圾箱放在一起了!有没有办法指定我不希望 choroplethr 这样做?“num_colors”命令是我的最佳选择吗?

谢谢!山姆

ETA:我不确定我能否制作一个可重复的例子。有人需要方便地使用 FL 人口普查区 FIPS 代码,以便与我使用随机数生成器生成的值合并。但这是我的代码,以防万一。我希望有人能够发现是否有办法添加特定的代码行来阻止垃圾箱自动折叠。

#manually label classes by given cut points
mydata2$countclass[mydata2$rate_acs ==0 ]<-0
mydata2$countclass[mydata2$rate_acs >0 & mydata2$rate_acs <32.3 ]<-1
mydata2$countclass[mydata2$rate_acs >32.3 & mydata2$rate_acs <43.2 ]<-2
mydata2$countclass[mydata2$rate_acs >43.2 & mydata2$rate_acs <55.8 ]<-3
mydata2$countclass[mydata2$rate_acs >55.8 & mydata2$rate_acs <74.3 ]<-4
mydata2$countclass[mydata2$rate_acs >74.3 ]<-5
mydata2$value = mydata2$countclass
tract_choropleth(mydata2, "florida")
4

1 回答 1

1

经过几天的研究,我终于想出了一个解决方案。

我遵循了这个问题的方法:有没有一种方法可以手动控制 choroplethr 上各种范围之间的阈值?

(而不是使用对我不起作用的“num_colors”)有人建议使用剪切函数来创建中断。我的最终代码(有效)看起来像:

# manually label classes by given cut points
# define the breaks you want
mydata2$value <- cut (mydata2$rate_dec, breaks = c(0, 32.3, 43.2, 55.8, 74.3, 1000))
tract_choropleth(mydata2, "florida")

我的代码将名为“rate_dec”的“旧”列中的一个剪切函数分配给一个名为“value”的新列(运行 choropleth 需要它)。当我使用带有剪切的值列重新运行地图时,我会得到一张带有我想要的垃圾箱的地图。

https://imgur.com/jmGqGAe

PS:不要介意“1000”的值——我正在处理一些倾斜的数据

于 2018-06-05T18:34:04.840 回答