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

基于多列唯一组合统计列值出现次数(R语言实现)

R语言统计姓名在日期与条件组合下的出现次数

我们可以通过分组统计的方式实现需求,以下是基于你提供的模拟数据的具体处理方案:

1. 模拟数据集生成代码

set.seed(1)
start_date <- as.Date('2015-01-01')  
end_date <- as.Date('2015-01-05')   
date_vec=as.Date(sample( as.numeric(start_date): as.numeric(end_date), 30, 
                    replace = T), origin = '1970-01-01')

people=c("Sam","Jim","Sally","Robert","Donnie")
Condition=sample(1:2,30, replace = "TRUE")
people_column=sample(people,30, replace = "TRUE")
sample_df=data.frame(people_column,Condition,date_vec)

2. 统计方法

方法一:使用dplyr包(简洁直观)

先安装并加载dplyr包(首次使用时运行安装代码):

# 安装包(首次使用时执行)
# install.packages("dplyr")
library(dplyr)

# 分组统计各组合出现次数
count_df <- sample_df %>%
  group_by(people_column, Condition, date_vec) %>%
  summarise(出现次数 = n(), .groups = "drop")

# 查看统计结果
print(count_df)

方法二:使用base R(无需额外安装包)

# 基于姓名、条件、日期分组统计
count_df_base <- aggregate(
  x = list(出现次数 = sample_df$people_column),
  by = list(姓名 = sample_df$people_column, 条件 = sample_df$Condition, 日期 = sample_df$date_vec),
  FUN = length
)

# 查看统计结果
print(count_df_base)

3. 结果说明

两种方法都会生成包含姓名、条件、日期、出现次数的统计表格,完整展示每一组唯一组合的出现频次,示例输出如下:

# dplyr方法输出示例
#   people_column Condition date_vec   出现次数
#   <chr>             <int> <date>       <int>
# 1 Donnie                1 2015-01-01      2
# 2 Donnie                1 2015-01-03      1
# 3 Donnie                2 2015-01-02      1
# ...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:16:02