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

如何使用R的dplyr包批量统计各站点各日期下不同物种的出现次数

批量统计所有物种各站点各日期出现次数的实现方法

你只需要把Species也加入分组变量,即可一次性得到所有物种的统计结果,无需逐个筛选合并:

方法1:长格式统计结果(推荐,最通用)

返回的结果每行对应「站点+日期+物种」的唯一组合,包含对应出现次数:

library(dplyr)
# 写法1:group_by + summarise 实现
DF1_stat <- DF1 %>%
  group_by(Site, Date, Species) %>%
  summarise(count_Species = n(), .groups = "drop")

# 写法2:count 简写,效果完全一致,代码更简洁
DF1_stat <- DF1 %>% 
  count(Site, Date, Species, name = "count_Species")

说明:参数.groups = "drop"用于统计完成后自动解除分组,避免后续操作出现不必要的分组警告或异常。

方法2:宽格式统计结果

如果需要每个物种单独作为一列,行仅保留站点、日期维度,可以搭配tidyr的宽表转换函数实现:

library(dplyr)
library(tidyr)
DF1_stat_wide <- DF1 %>%
  count(Site, Date, Species, name = "count_Species") %>%
  pivot_wider(
    names_from = Species,
    values_from = count_Species,
    values_fill = 0 # 未出现的物种计数自动填充为0,无需手动处理NA
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:18:03