1

我想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

Q:audit$count应该是UP TO的患者总数testaudit$date

这不起作用:

audit$count <- sum(test[test$date < audit$date,]$patients)

怎么做最好?

4

1 回答 1

2

一种方法是使用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
于 2013-03-18T08:41:02.457 回答