我想得到每天的病例数,包括零.这是我的数据帧示例:
set.seed(1453); ID = sample(1:4, 10, TRUE)
date = c('2016-01-01', '2016-01-05', '2016-01-07', '2016-01-12', '2016-01-16', '2016-01-20',
'2016-01-20', '2016-01-25', '2016-01-26', '2016-01-31')
df = data.frame(ID, date = as.Date(date))
所以我知道2016-01-01
年有一例是ID
-1
,然后2016-01-20
年有一例是ID
-1
.所以我想得到一个从2016-01-01
到2016-01-31
的数据帧,这两天是1
,否则是0
.我希望每ID
个都一样.所以这个例子显示了每ID
个事件中有一个,但在我的实际数据框架中,每ID
个事件中每天有15个 case .
我用过:
M <- function(timeStamps) {
Dates <- as.Date(strftime(df$date, "%Y-%m-%d"))
allDates <- seq(from = min(Dates), to = max(Dates), by = "day")
Admission <- sapply(allDates, FUN = function(X) sum(Dates == X))
data.frame(day = allDates, Admission = Admission)
}
MM<-M(df$date)
但如果我 for each ID
创建一个数据帧,MM
只会给出我想要的结果.
我用this example做了同样的练习,但我在这里得到了每月的汇总结果.理想情况下,考虑到每ID
个事件中有0
个事件,我可以每天聚合一个类似的数据帧.