我是自我教导R给我,现在我正在看一看合唱在R。为此,我正在使用‘合唱团’和‘合唱团管理1’。
在绘制了这些软件包说明中的所有示例之后,我想用随机值绘制一张德国行政一级的地图。因此,我尝试使用admin_1choropleth
命令。帮助函数表示该命令需要有两个特定列的数据集:
例如,此代码使用数据集“df_japan_普查”生成日本人口每平方公里的地图,其中包含一个名为“value”的列和一个称为“region”的列。
admin1_choropleth("japan",
df_japan_census,
"Japan Population",
"per km²")
因此,为了绘制德国的示例地图,我只使用了‘admin1.Regies’-dataset(因为它包含所需的区域),并在其中添加了一个列“值”。然后我试着画出来。代码是这样的:
admin1.regions$value<-3:4401 #the numbers are just placeholders
admin1_choropleth("germany",admin1.regions)
但现在我发现了一个错误:
错误: anyDuplicated(self$user.df$region) == 0不正确
这是我关于堆栈溢出的第一个问题,我既不是一个天生的讲英语的人,也不是一个程序员,所以我希望你能理解我的问题。
如果你有任何问题,请毫不犹豫地问我。
最好,马塞尔
P.S.:为了让你更容易,这应该是你需要的全部重复错误。
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)
发布于 2016-07-22 05:57:36
出现此错误的原因是由于region
of admin1.regions
列中的重复项。如果您使用unique(admin1.regions$region)
,您将得到一个长度为4358的向量,而原始数据集为4399 (所以是41个重复的)。
如何解决这个问题?您只需要包含"germany"
的条目,所以删除所有非"gemany"
条目。
admin1.regions$value<-3:4401 #the numbers are just placeholders
admin1.regions1 <- admin1.regions[which(admin1.regions$country == "germany"),]
admin1_choropleth("germany",admin1.regions)
现在你的代码应该可以工作了。
PS。酷名
https://stackoverflow.com/questions/38525423
复制相似问题