我正在自学 R,目前我正在查看 R 中的 Choropleths。为此,我正在使用包“choroplethr”和“choroplethrAdmin1”。
在绘制了这些软件包说明中的所有示例之后,我想绘制一张带有随机值的德国行政 1 级别的地图。所以我尝试使用该admin_1choropleth
命令。帮助函数表示该命令需要一个包含两个特定列的数据集:
- 一个称为“区域”的区域,其中包括与软件包提供的“admin1.regions”数据集中拼写相同的区域
- 第二个称为“值”,以将包含的值与区域匹配
例如,此代码使用数据集生成每平方公里日本人口的地图:“df_japan_census”,其中包含一个名为“value”的列和一个名为“region”的列
admin1_choropleth("japan",
df_japan_census,
"Japan Population",
"per km²")
因此,为了绘制德国的示例地图,我只使用了“admin1.regions”数据集(因为它包含所需的区域)并在其中添加了一个“值”列。然后我尝试绘制它。这是代码的样子:
admin1.regions$value<-3:4401 #the numbers are just placeholders
admin1_choropleth("germany",admin1.regions)
但现在我收到了这个错误:
错误:anyDuplicated(self$user.df$region) == 0 不是 TRUE
这是我在 stackoverflow 上的第一个问题,我既不是天生会说英语的人,也不是程序员,所以我希望你能理解我的问题。
如果您有任何问题,请随时问我。
最好的,马塞尔
PS:为了让您更轻松,这应该是重现错误所需的全部内容。
install.packages("choroplethr")
library(choroplethr)
install.packages("choroplethrAdmin1")
install.packages("ggplot2")
library(choroplethrAdmin1)
library(ggplot2)
admin1.regions$value<-3:4401
admin1_choropleth("germany",admin1.regions)