使用dplyr和表功能

时间:2018-08-30 16:00:34

标签: r dplyr

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.earlylength.of.mediumlength.of.late作为地图上每个ID_1的条形图。我发现这篇文章可以帮助我完成

https://nzprimarysectortrade.wordpress.com/2011/10/02/let-r-fly-visualizing-export-data-using-r/

但是要执行此操作,我必须首先创建df1。请注意,我可以编写一个循环来执行此操作,但是我正在寻找对此的dplyr解决方案或任何其他避免循环的解决方案。

0 个答案:

没有答案