我有以下数据框
df<-data.frame(id=seq(from = 1, to=100), in= c("01-01-2020", "01-01-2020", "01-01-2020", "01-01-2020", "02-01-2020", "02-01-2020", "02-01-2020", "02-01-2020"...), out=c("02-01-2020", "20-01-2020", "02-05-2020", "02-04-2020", "02-03-2020"...)
我想从该数据框中获取一个数据框,该数据框可以告诉您每天有多少个唯一ID。像这样的东西
df2<-data.frame(day=c("01-01-2020", "02-01-2020", "03-01-2020", "04-01-2020"...), count = c(5,6,1,2,3...))
[如果具有带有df
,id
的数据框in_date
(避免使用in
作为列名),则可以使用dplyr
确定每个日期的唯一id
数:
library(dplyr)
df %>%
group_by(in_date) %>%
summarise(count = n_distinct(id))
在带有aggregate
的基数R中,您可以获得与以下相同的结果:
aggregate(data=df, id ~ in_date, function(x) length(unique(x)))