Description Usage Arguments Value Author(s) Examples
Allocate total to countByYear
for a constant count per day between start
and end for multiple events.
1 2 3 |
data |
a |
start, end |
columns of |
total |
A quantity to be allocated by year giving a constant rate per day. |
event |
name of the event whose total is to be allocated. |
endNA |
Date to use if |
a numeric matrix whose
colSums match total with names
for all the years between start and end.
The number of columns of the output matrix match the
number of rows of data. The
colSums match total.
Spencer Graves
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ##
## 1. data.frame(WarName, Start1, End1, BatDeath)
##
start73 <- as.Date('1973-01-22')
tstWars <- data.frame(WarName=c('short', '2yr', '10yr'),
Start1=c(start73, start73+365, start73-365),
End1=start73+c(99, 2*365, NA),
BatDeath=c(100, 123, 456))
##
## 2. do
##
deathsByYr <- countsByYear(tstWars,
endNA=start73+9*365.2)
# check
Counts <- matrix(0, 11, 3,
dimnames=list(c(1972:1982), tstWars$WarName) )
Counts['1973', 1] <- 100
Counts[as.character(1974:1975), 2] <- with(tstWars,
countByYear(Start1[2], End1[2], BatDeath[2]) )
Counts[as.character(1972:1982), 3] <- with(tstWars,
countByYear(Start1[3], start73+9*365.2, BatDeath[3]) )
all.equal(deathsByYr, Counts)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.