R语言生成按secteur分组统计CODE_UAI.x去重数的交叉表
解决方法
1. dplyr实现(适配你现有的代码逻辑)
你原来的代码用filter仅筛选了单组数据,替换为group_by对secteur字段分组后汇总即可得到全部分组的去重统计结果:
library(dplyr) # 针对你提供的示例数据集测试 df1 %>% group_by(secteur) %>% summarise(`# distinct UAI` = n_distinct(CODE_UAI.x))
运行输出完全匹配你要求的表格格式,如需转为普通数据框,可在链式操作末尾添加%>% as.data.frame()。
2. 基础R实现(无需加载第三方包)
res <- aggregate(CODE_UAI.x ~ secteur, data = df1, FUN = function(x) length(unique(x))) colnames(res) <- c("Secteur", "# distinct UAI")
3. summarytools包实现
如果你偏好使用summarytools包,可通过如下代码完成统计:
library(summarytools) df1 %>% group_by(secteur) %>% summarise(distinct_uai = n_distinct(CODE_UAI.x)) %>% tb()
内容的提问来源于stack exchange,提问作者David Potrel
相关产品推荐
相关产品推荐

