Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > dat <- data.frame("ID" = c(6,6,6,7,7,10,11,11),
- "Admit_Dt" = c('2013-08-12', '2013-12-12', '2016-01-03','2011-04-01', '2011-09-20','2012-02-19','2014-06-24','2014-08-12'),
- "Urgent" = c(0,1,1,1,0,0,1,1))
- > dat
- | ID | Admit_Dt | Urgent|
- | 6 | 2013-08-12 | 1|
- | 6 | 2013-12-12 | 0|
- | 6 | 2016-01-03 | 1|
- | 7 | 2011-04-01 | 1|
- | 7 | 2011-09-20 | 0|
- | 10 | 2012-02-19 | 0|
- | 11 | 2014-06-24 | 1|
- | 11 | 2014-08-12 | 1|
- > dat$Urgent_1yrSum <- unlist(sapply(1:length(unique(dat$ID)), function(i) {
- grouped <- subset(dat, ID == unique(dat$ID)[i])
- output <- do.call(rbind, lapply(1:nrow(grouped), function(y){
- urgent_sum_1year <- sum(grouped[grouped$Admit_Dt < grouped$Admit_Dt[y] & grouped$Admit_Dt > (grouped$Admit_Dt[y] - dyears(1)), "Urgent"])
- }))
- return(output)
- }
- ))
- > dat
- | ID | Admit_Dt | Urgent| Urgent_1yrSum|
- | 6 | 2013-08-12 | 1| 0|
- | 6 | 2013-12-12 | 0| 1|
- | 6 | 2016-01-03 | 1| 0|
- | 7 | 2011-04-01 | 1| 0|
- | 7 | 2011-09-20 | 0| 1|
- | 10 | 2012-02-19 | 0| 0|
- | 11 | 2014-06-24 | 1| 0|
- | 11 | 2014-08-12 | 1| 1|
Add Comment
Please, Sign In to add comment