总和计数
问题描述:
我想更新与比较的另一个数据帧中的audit
数据帧:总和计数
test
:中数量的数据帧患者对于特定日期:
test <- data.frame(
date=as.Date(c("2012-12-12","2012-12-29","2013-01-15")),
patients=c(4,7,3)
)
date patients
1 2012-12-12 4
2 2012-12-29 7
3 2013-01-15 3
audit
:审计的数据帧日期:
audit <- data.frame(date=as.Date(c("2012-12-31","2013-01-31")),
count=c(NA))
date count
1 2012-12-31 NA
2 2013-01-31 NA
问:audit$count
应在test
UP TO audit$date
患者的总数是多少?
这不起作用:
audit$count <- sum(test[test$date < audit$date,]$patients)
如何最有效地做到这一点?
答
的一种方法是使用sapply
与audit$date
值:
audit$count <- sapply(audit$date, function(x) sum(test$patients[test$date < x]))
date count
1 2012-12-31 11
2 2013-01-31 14
+1!以确切的答案击败我! (即使有点晚,恭喜10k) – agstudy 2013-03-18 08:42:07
@agstudy谢谢。我想,SO上的所有R用户都无法跟上你的速度。 ;-) – 2013-03-18 08:57:12