View source: R/benchmark.null.R
benchmark.null | R Documentation |
This function provides an automated mechanism for
producing the largest test statistic for each simulated
data set in one of null600
, null6000
,
fakenull
.
benchmark.null(
MAXFUN,
test.name,
null.name = "null600",
SAVE = FALSE,
loop = FALSE,
pfreq = 1,
...
)
MAXFUN |
A function that returns only the maximum test statistic across all zones. The first argument MUST take a vector of cases. |
test.name |
The name of the test being applied. Must be a character vector. |
null.name |
Which null data set to use. Must be one of
|
SAVE |
A logical value indicating whether the results
should be saved as an rda file. If |
loop |
A logicial value indicating whether a loop
should be used to run the benchmark instead of
|
pfreq |
The frequency that messages are reported
from the loop. The default is |
... |
Additional arguments passed on to the MAXFUN and |
For the appropriate null data set, MAXFUN
is applied
to each row of the specified null data set.
If the results are saved, then the name of the data object
saved is paste("t", null.name, sep = "")
.
A vector of the largest test statistics for each simulated data set, or writing out to an rda file.
# load required data
data(neastdata)
# construct zone information
coords = neastdata[, c("x", "y")]
ubpop = 0.5
pop = neastdata$population
# all distinct zones subject to population constraints
zones = smerc::scan.zones(coords, pop, ubpop)
# expected number of cases in each region
e = 600/sum(pop)*pop
# expected number of cases in each zone
ein = sapply(zones, function(x) sum(e[x]))
# expected number of cases outside of each zone
eout = 600 - ein
# takes a set of cases and determines the largest
# test statistic across all zones using required
# information
max.scan.stat = function(cases, zones, ein, eout, ty) {
# compute yin for each zone
yin = sapply(zones, function(zone) sum(cases[zone]))
# take max over statistics of all zones
max(smerc::scan.stat(yin, ein, eout, ty))
}
benchmark.null(MAXFUN = max.scan.stat,
test.name = "scan_test",
null.name = "fakenull",
SAVE = FALSE,
zones = zones,
ein = ein,
eout = eout,
ty = 600)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.