countsByYear {Ecfun} | R Documentation |
Allocate totals by year
Description
Allocate total
to countByYear
for a constant count per day between start
and end
for multiple events.
Usage
countsByYear(data, start="Start1", end='End1',
total='BatDeath', event='WarName',
endNA=max(data[, c(start,end)]))
Arguments
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 |
Value
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
.
Author(s)
Spencer Graves
Examples
##
## 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)
[Package Ecfun version 0.3-2 Index]