Пожалуйста, мой ответ, используя базу R:
# raw data
d1 <- data.frame(Event = c(0,0,0,0,1,0,0,1,0),
Time = c(0,0,0,0,1,7,11,20,21))
d2 <- as.data.frame.matrix(table(d1$Time, d1$Event))
colnames(d2) <- c("Non-Event", "Event")
times <- as.numeric(rownames(d2))
d3 <- cbind(time = times,
SampleSize = sapply(times, function(x){
nrow(d1) - min(which(x == d1$Time)) + 1
}),
d2)
rownames(d3) <- NULL
d3
# time SampleSize Non-Event Event
#1 0 9 4 0
#2 1 5 0 1
#3 7 4 1 0
#4 11 3 1 0
#5 20 2 0 1
#6 21 1 1 0