r - 使用 dplyr 和 table 函数
问题描述
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 解决方案或任何其他避免循环的解决方案。
解决方案
推荐阅读
- html - 在复选框元素上过滤模糊?
- c++ - 如何获得函数的真值表 (( c + ~d ) * b ) * ~( d + a * e )
- java - 将枚举值添加到数据库
- android - 有没有使用颤振检测修改后的应用程序的解决方案?
- jquery - 如何使用 jQuery 在 `focus in` 上正确捕获 HTML 表格单元格 (td) 值
- java - 重置可变类字段
- php - Laravel 7.x - 如何比较规则验证中的两个字段?
- java - 如何向我的 Java JFrame 添加一些声音?
- javascript - 我可以将一个数组动态插入到我从正则表达式匹配生成的 mysql 中吗?
- android - 错误颤动NoSuchMethodError(NoSuchMethodError:在null上调用了getter'length'。接收者:null