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

在R中基于两列重复值创建含计数列的新数据框

解决R数据框按Date-Name分组统计重复次数并生成新列的问题

示例数据构造

首先还原你提供的示例数据框DF1:

DF1 <- data.frame(
  Date = c("2022-03-13", "2022-03-13", "2022-03-13", "2022-03-14", "2022-03-13", "2022-03-14"),
  Name = c("Bob", "Bob", "Tim", "Bob", "Tim", "Jim")
)

方法一:Base R 实现

无需额外安装包,用基础R函数完成:

# 按Date和Name分组统计重复次数
count_stats <- aggregate(. ~ Date + Name, data = DF1, FUN = length)
# 重命名统计列
colnames(count_stats)[3] <- "count_num"
# 生成指定格式的Count列
count_stats$Count <- paste("Count", count_stats$count_num)
# 筛选需要的列得到DF2
DF2 <- count_stats[, c("Date", "Name", "Count")]

方法二:dplyr(tidyverse)实现

如果习惯tidyverse风格,用dplyr更简洁:

# 未安装dplyr先运行:install.packages("dplyr")
library(dplyr)

DF2 <- DF1 %>%
  group_by(Date, Name) %>%
  summarise(count_num = n(), .groups = "drop") %>% # 统计每组数量并取消分组
  mutate(Count = paste("Count", count_num)) %>% # 生成指定格式列
  select(Date, Name, Count) # 保留目标列

最终结果DF2

DateNameCount
2022-03-13BobCount 2
2022-03-13TimCount 2
2022-03-14BobCount 1
2022-03-14JimCount 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:48:30