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 для этого или любого другого решения, которое позволяет избежать цикла.