Использование dplyr и табличной функции - PullRequest
0 голосов
/ 30 августа 2018
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 для этого или любого другого решения, которое позволяет избежать цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...