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

如何在R中按月份分组标记重复3次及以上的数值

R语言按月份分组标记重复3次及以上的数值

我们可以通过分组统计每个Value在对应Month中的出现次数,再判断次数是否≥3来生成目标列。以下是两种常用实现方式:

示例数据

data2 <- data.frame(
  Month = c("Jan", "Jan", "Jan", "Jan", "Feb", "Feb", "Feb", "Feb", "Feb"),
  Value = c(1, 2, 2, 2, 2, 2, 4, 4, 4)
)

方法1:使用dplyr包

这是tidyverse生态下的常用方法,代码可读性强:

library(dplyr)

data2 <- data2 %>%
  group_by(Month, Value) %>%  # 按月份和数值组合分组
  mutate(Repeating = n() >= 3) %>%  # 直接判断分组内的行数是否≥3
  ungroup()  # 取消分组状态

方法2:使用data.table包

适合处理大规模数据集,运行效率更高:

library(data.table)

setDT(data2)  # 将普通数据框转换为data.table
data2[, Repeating := .N >= 3, by = .(Month, Value)]  # 分组生成标记列

执行任意一种方法后,data2都会生成符合要求的Repeating列,结果与你给出的示例一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:50:26