library(raster)
my.shp <- getData('GADM', country='FRA', level=1)
set.seed(123)
df <- data.frame(ID_1 = rep(my.shp$ID_1, each = 100),
category = sample(c("early", "medium", "late"), 22 * 100, replace = T))
我想将df
转换为df1
,如下所示:
ID_1 length.of.early. length.of.medium length.of.late
即对于每个ID_1,我要创建早,中和晚条目的数量,然后将其添加到my.shp
df %>% group_by(ID_1) %>% table(category) # how do I apply the 'table' function here
然后我将使用以下方式将df1
加入my.shp
:
dat.shp <- merge(my.shp, df1, by = "ID_1")
,然后将dat.shp
绘制为地图,并显示length.of.early
,length.of.medium
和length.of.late
作为地图上每个ID_1
的条形图。我发现这篇文章可以帮助我完成
https://nzprimarysectortrade.wordpress.com/2011/10/02/let-r-fly-visualizing-export-data-using-r/
但是要执行此操作,我必须首先创建df1
。请注意,我可以编写一个循环来执行此操作,但是我正在寻找对此的dplyr解决方案或任何其他避免循环的解决方案。