Skip to Content

scaleboot {scaleboot}

Multiscale Bootstrap Resampling
Package: 
scaleboot
Version: 
0.3-3

Description

Performs multiscale bootstrap resampling for a specified statistic.

Usage

scaleboot(dat,nb,sa,fun,parm=NULL,count=TRUE,weight=TRUE,
          cluster=NULL,onlyboot=FALSE,seed=NULL,...)

countw.assmax(x,w,ass)

countw.shtest(x,w,obs)

countw.shtestass(x,w,assobs)

Arguments

dat
data matrix or data-frame. Row vectors are to be resampled.
nb
vector of the numbers of bootstrap replicates.
sa
vector of scales in sigma squared (σ^2).
fun
function for a statistic.
parm
parameter to be passed to fun above.
count
logical. Should only the accumulative counts be returned? Otherwise, raw statistic vectors are returned.
weight
logical. In fun above, resampling is specified by a weight vector. Otherwise, resampling is specified by a vector of indices.
cluster
snow cluster object which may be generated by function makeCluster.
onlyboot
logical. Should only bootstrap resampling be performed? Otherwise, sbfit or sbconf is called internally.
seed
If non NULL, random seed is set. Specifying a seed is particularly important when cluster is non NULL, in which case seed + seq(along=cluster) are set to cluster nodes.
...
further arguments passed to and from other methods.
x
data matrix or data-frame passed from scaleboot.
w
weight vector for resampling.
ass
a list of association vectors. An example of parm above.
obs
a vector of observed test statistics. An example of parm above.
assobs
a list of ass and obs above. An example of parm above.

Details

These functions are used internally by relltest.

scaleboot performs multiscale bootstrap resampling for a statistic defined by fun, which should be one of the two possible forms fun(x,w,parm) and fun(x,i,parm). The former is used when weight=TRUE, and the weight vector w is generated by a multinomial distribution. The latter is used when weight=FALSE, and the index vector i is generated by resampling n' elements from {1,...,n}. When count=TRUE, fun should return a logical, or a vector of logicals.

Examples of fun(x,w,parm) are countw.assmax for AU p-values, countw.shtest for SH-test of trees, and countw.shtestass for SH-test of both trees and edges. The definitions are given below.

 countw.assmax <- function(x,w,ass) {   y <- maxdif(wsumrow(x,w)) <= 0 # countw.max   if(is.null(ass)) y   else {     z <- vector("logical",length(ass))     for(i in seq(along=ass)) z[i] <- any(y[ass[[i]]])     z   } }

countw.shtest <- function(x,w,obs)  maxdif(wsumrow(x,w)) >= obs

countw.shtestass <- function(x,w,assobs)   unlist(assmaxdif(wsumrow(x,w),assobs$ass)) >= assobs$obs      ### weighted sum of row vectors ## ## x = matrix (array of row vectors) ## w = weight vector (for rows) ## wsumrow <- function(x,w) {   apply(w*x,2,sum)*nrow(x)/sum(w) }

### calc max diff ## ## y[i] := max_{j neq i} x[j] - x[i] ## maxdif <- function(x) {   i1 <- which.max(x)  # the largest element   x <- -x + x[i1]   x[i1] <- -min(x[-i1])  # the second largest value   x }

### calc assmaxdif ## ## y[[i]][j] := max_{k neq ass[[i]]} x[k] - x[ass[[i]][j]] ## assmaxdif <-  function(x,a) {   y <- vector("list",length(a))   names(y) <- names(a)   for(i in seq(along=a))  y[[i]] <- max(x[-a[[i]]]) - x[a[[i]]]   y } 

When count=TRUE, the summation of outputs from fun is calculated. This gives the frequencies for how many times the hypotheses are supported by the bootstrap replicates.

Values

If onlyboot=TRUE, then a list of raw results from the multiscale bootstrap resampling is returned. The components are "stat" for list vectors of outputs from fun (only when count=FALSE), "bps" for a matrix of multiscale bootstrap probabilities (only when count=FALSE), "nb" for the number of bootstrap replicates used, and "sa" for the scales used. Note that scales are redefined by sa <- nsize/round(nsize/sa), where nsize is the sample size.

If onlyboot=FALSE, then the result of a call to sbfit is returned when count=TRUE, otherwise the result of sbconf is returned when count=FALSE.

See Also

sbfit, relltest.

Examples

## Not run:
## a line from the definition of relltest
scaleboot(dat,nb,sa,countw.assmax,ass,cluster=cluster,
                 names.hp=na,nofit=nofit,models=models,seed=seed)
 
## two lines from rell.shtest (internal function)
scaleboot(z,nb,1,countw.shtest,tobs,cluster=cluster,
                 onlyboot=TRUE,seed=seed)
scaleboot(z,nb,1,countw.shtestass,pa,cluster=cluster,
                 onlyboot=TRUE,seed=seed)
## End(Not run)

Author(s)

Hidetoshi Shimodaira

Documentation reproduced from package scaleboot, version 0.3-3. License: GPL (>= 2)