You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:长表经group_by聚合后,汇总指定列并获取其他列全值统计结果

按分组变量汇总多分类变量的存在计数

需求:对长表中的Presence列进行汇总,先按Site列执行分组操作(group_by()),同时获取Exotic、Migrant等变量各取值对应的Presence汇总值。

测试数据

library(tidyverse)
set.seed(123)

Site <- str_c("S", 1:5)
Species <- str_c("Sps", 1:6)

print(Species_tbl <- bind_cols(Species = Species,
                        Exotic = rbinom(length(Species), 1, .3),
                        Migrant = rbinom(length(Species), 2, .3)))


Data_tbl <- expand.grid(Site = Site,
                        Species = Species) %>%
            left_join(Species_tbl)


Data_tbl$Presence <- rbinom(nrow(Data_tbl), 1, .5)

尝试的实现代码

print(Data_tbl %>%
  group_by(Site) %>%
  summarise(N_sp = sum(Presence),
            N_sp_Exo = sum(Presence[Exotic == 1]),
            N_sp_Nat = sum(Presence[Exotic == 0]),
            N_sp_M0 = sum(Presence[Migrant == 0]),
            N_sp_M1 = sum(Presence[Migrant == 1]),
            N_sp_M2 = sum(Presence[Migrant == 2])))

内容的提问来源于stack exchange,提问作者mferreira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:50:39