我目前正在尝试制作两张地图,一张有多个分类值,另一张有连续数值,如下所示:
我有一个数据集,为每个NPA提供NPA和两个信息:项目(类别)和频率(从1到10的比例):
NPA item Frequency
1000 huitante 0
1002 huitante 10
1006 quatre-vingt 3
2000 huitante 9
我还有一个特定的shapefile用于我所在的国家(瑞士)。在之前的post上,我发现了一些有趣的代码,我在这里复制/粘贴:
# open the shapefile
require(rgdal)
require(rgeos)
require(ggplot2)
ch <- readOGR(work.dir, layer = "PLZO_PLZ")
# convert to data frame for plotting with ggplot - takes a while
ch.df <- fortify(ch)
# generate fake data and add to data frame
ch.df$count <- round(runif(nrow(ch.df), 0, 100), 0)
# plot with ggplot
ggplot(ch.df, aes(x = long, y = lat, group = group, fill = count)) +
geom_polygon(colour = "black", size = 0.3, aes(group = group)) +
theme()
作者在评论中提供了一些信息来绘制特定数据集(而不是假数据):
# plot just a subset of NPAs using ggplot
my.sub <- ch.df[ch.df$id %in% c(4,6), ]
ggplot(my.sub, aes(x = long, y = lat, group = group, fill = count)) +
geom_polygon(colour = "black", size = 0.3, aes(group = group)) +
theme()
在帖子的评论中说:
替换ggplot(my.sub,aes(x = long,y = lat,group = group,fill = count)) 与ggplot(my.sub,aes(x = long,y = lat,group = group,fill = frequency))
所以我想我需要将频率提取为变量
frequency <- table(data$frequency)
并更改引号中显示的代码。
不幸的是,我的问题是它不起作用,我得到以下评论:
不知道如何自动选择类型表对象的比例。 违约持续 错误:美学必须是长度1或与长度相同 dataProblems:频率
我的问题是:
我不需要在同一张地图上表示频率和项目,只知道如何创建分离的地图。
我的数据集在此文件中,还有我需要使用的shapefile。
https://www.dropbox.com/sh/5x6r6s2obfztblm/AAAesIOrxn76HU57AIF0y1Oua?dl=0
任何帮助都将非常感谢!