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

在R中按条件新增列并统计元素跨组重复次数

解决方案

我来帮你搞定这个需求,用R的dplyr包就能轻松实现,步骤很清晰:

代码实现

如果还没安装dplyr包,先执行install.packages("dplyr")安装,之后运行以下代码:

library(dplyr)

# 1. 统计每个Sequence对应的唯一Groups数量,同时按规则处理COL5
seq_group_stats <- test_df %>%
  group_by(COL4) %>%
  summarise(COL5 = n_distinct(Groups)) %>%
  mutate(COL5 = ifelse(COL5 > 1, COL5, 0))

# 2. 将统计结果合并回原数据框,得到最终结果
final_df <- test_df %>%
  left_join(seq_group_stats, by = "COL4")

代码解释

  • group_by(COL4):按Sequence分组,方便后续针对每个Sequence统计跨组情况
  • n_distinct(Groups):精准计算每个Sequence在多少个不同Groups中出现,这正是你需要的次数
  • ifelse(COL5 > 1, COL5, 0):把仅在单个Group出现的Sequence对应的COL5值设为0,完全匹配你的规则
  • left_join(...):把统计好的COL5值匹配到原数据的每一行,确保每个对应Sequence的行都能得到正确结果

结果验证

运行后你会得到和目标完全一致的DataFrame:

  • Sequence3在G1和G2出现,对应行的COL5为2
  • Sequence16在G1、G2、G3出现,对应行的COL5为3
  • 其他仅在单个Group出现的Sequence,COL5都为0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 16:12:31