Generates jackknife samples.

jack(
  data,
  par = FALSE,
  ncores = NULL,
  mc = TRUE,
  lb = FALSE,
  cl_eval = FALSE,
  cl_export = FALSE,
  cl_expr,
  cl_vars
)

Arguments

data

Vector, matrix, or data frame. Sample data.

par

Logical. If TRUE, use multiple cores. If FALSE, use lapply().

ncores

Integer. Number of cores to use if par = TRUE. If unspecified, defaults to detectCores() - 1.

mc

Logical. If TRUE, use parallel::mclapply(). If FALSE, use parallel::parLapply() or parallel::parLapplyLB(). Ignored if par = FALSE.

lb

Logical. If TRUE use parallel::parLapplyLB(). If FALSE, use parallel::parLapply(). Ignored if par = FALSE and mc = TRUE.

cl_eval

Logical. Execute parallel::clusterEvalQ() using cl_expr. Ignored if mc = TRUE.

cl_export

Logical. Execute parallel::clusterExport() using cl_vars. Ignored if mc = TRUE.

cl_expr

Expression. Expression passed to parallel::clusterEvalQ() Ignored if mc = TRUE.

cl_vars

Character vector. Names of objects to pass to parallel::clusterExport() Ignored if mc = TRUE.

Value

Returns a list of jackknife samples of length n, where n is the sample size of data. Each item in the list, will have a sample size of n - 1.

Details

$$ \mathbf{ x }_i = \left\{ x_1, x_2, x_3, \dots, x_n \right\} $$ for \( i = \left\{ 1, 2, 3, \dots, n \right\} \) the \(i\)th jackknife sample consists of the original sample data with the \(i\)th observation removed.

References

Wikipedia: Jackknife resampling

See also

Other jackknife functions: jack_hat()

Examples

n <- 5 ################################# # vector ################################# x <- rnorm(n = n) xstar <- jack( data = x ) str(xstar)
#> List of 5 #> $ : num [1:4] 0.25532 -2.43726 -0.00557 0.62155 #> $ : num [1:4] -1.40004 -2.43726 -0.00557 0.62155 #> $ : num [1:4] -1.40004 0.25532 -0.00557 0.62155 #> $ : num [1:4] -1.4 0.255 -2.437 0.622 #> $ : num [1:4] -1.40004 0.25532 -2.43726 -0.00557
################################# # matrix ################################# x1 <- rnorm(n = n) x2 <- rnorm(n = n) x3 <- rnorm(n = n) X <- cbind(x1, x2, x3) Xstar <- jack( data = X ) str(Xstar)
#> List of 5 #> $ : num [1:4, 1:3] -1.822 -0.247 -0.244 -0.283 0.629 ... #> ..- attr(*, "dimnames")=List of 2 #> .. ..$ : NULL #> .. ..$ : chr [1:3] "x1" "x2" "x3" #> $ : num [1:4, 1:3] 1.148 -0.247 -0.244 -0.283 -0.554 ... #> ..- attr(*, "dimnames")=List of 2 #> .. ..$ : NULL #> .. ..$ : chr [1:3] "x1" "x2" "x3" #> $ : num [1:4, 1:3] 1.148 -1.822 -0.244 -0.283 -0.554 ... #> ..- attr(*, "dimnames")=List of 2 #> .. ..$ : NULL #> .. ..$ : chr [1:3] "x1" "x2" "x3" #> $ : num [1:4, 1:3] 1.148 -1.822 -0.247 -0.283 -0.554 ... #> ..- attr(*, "dimnames")=List of 2 #> .. ..$ : NULL #> .. ..$ : chr [1:3] "x1" "x2" "x3" #> $ : num [1:4, 1:3] 1.148 -1.822 -0.247 -0.244 -0.554 ... #> ..- attr(*, "dimnames")=List of 2 #> .. ..$ : NULL #> .. ..$ : chr [1:3] "x1" "x2" "x3"
################################# # data frame ################################# X <- as.data.frame(X) Xstar <- jack( data = X ) str(Xstar)
#> List of 5 #> $ :'data.frame': 4 obs. of 3 variables: #> ..$ x1: num [1:4] -1.822 -0.247 -0.244 -0.283 #> ..$ x2: num [1:4] 0.629 2.065 -1.631 0.512 #> ..$ x3: num [1:4] -0.522 -0.0526 0.543 -0.9141 #> $ :'data.frame': 4 obs. of 3 variables: #> ..$ x1: num [1:4] 1.148 -0.247 -0.244 -0.283 #> ..$ x2: num [1:4] -0.554 2.065 -1.631 0.512 #> ..$ x3: num [1:4] -1.863 -0.0526 0.543 -0.9141 #> $ :'data.frame': 4 obs. of 3 variables: #> ..$ x1: num [1:4] 1.148 -1.822 -0.244 -0.283 #> ..$ x2: num [1:4] -0.554 0.629 -1.631 0.512 #> ..$ x3: num [1:4] -1.863 -0.522 0.543 -0.914 #> $ :'data.frame': 4 obs. of 3 variables: #> ..$ x1: num [1:4] 1.148 -1.822 -0.247 -0.283 #> ..$ x2: num [1:4] -0.554 0.629 2.065 0.512 #> ..$ x3: num [1:4] -1.863 -0.522 -0.0526 -0.9141 #> $ :'data.frame': 4 obs. of 3 variables: #> ..$ x1: num [1:4] 1.148 -1.822 -0.247 -0.244 #> ..$ x2: num [1:4] -0.554 0.629 2.065 -1.631 #> ..$ x3: num [1:4] -1.863 -0.522 -0.0526 0.543