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

按pit首次出现年份统计唯一值 解决重复计数问题

解决方案

问题出在原代码统计的是每年内出现过的唯一pit值,同一个pit如果在多个年份都有记录,会被多次计入不同年份的统计结果,导致总和超过全局唯一pit数量。要实现按pit首次出现的年份统计,确保每个pit只被计数一次,可按以下方式修改代码:

简洁高效版

df %>%
  # 按pit分组,提取每个pit首次出现的年份
  group_by(pit) %>%
  summarise(first_year = format(min(Date), "%Y")) %>%
  ungroup() %>%
  # 按首次出现年份统计对应唯一pit的数量
  count(first_year, name = "unique_pit_count")

分步清晰版

如果需要保留更多中间过程,也可以用这种方式:

df %>%
  # 为每条记录标记所属pit的首次出现年份
  group_by(pit) %>%
  mutate(first_year = format(min(Date), "%Y")) %>%
  ungroup() %>%
  # 按首次出现年份分组,统计唯一pit数量
  group_by(first_year) %>%
  summarise(unique_pit_count = n_distinct(pit))

逻辑说明

  1. 先按pit分组,用min(Date)找到每个pit最早出现的日期,格式化为年份后作为该pit的首次出现年份。
  2. 基于首次出现年份进行统计,每个pit只会被归属到一个年份中,最终各年份的统计结果总和将等于全局唯一pit的数量(901)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:22:04