con_exchange: con_exchange

Usage Arguments Examples

View source: R/con_exchange.R

Usage

1
con_exchange(k, top_pm, n, zoomn, variable, select, selname, testdata, testlevel, alpha, psigalpha, method, test_fun = con_multitest, paral)

Arguments

k
top_pm
n
zoomn
variable
select
selname
testdata
testlevel
alpha
psigalpha
method
test_fun
paral

Examples

  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
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (k, top_pm, n, zoomn, variable, select, selname, testdata, 
    testlevel, alpha, psigalpha, method, test_fun = con_multitest, 
    paral) 
{
    if (paral == "no") {
        testresults <- lapply(1:(k * zoomn + 1), test_fun, k = k, 
            n = n, variable = variable, select = select, testdata = testdata, 
            testlevel = testlevel, method = method, psigalpha = psigalpha)
    }
    else if (paral == "yes") {
        require(doParallel)
        ncores <- parallel::detectCores()
        cl <- parallel::makeCluster(ncores)
        doParallel::registerDoParallel(cl)
        testresults <- foreach(i = 1:(k * zoomn + 1)) %dopar% 
            test_fun(i, k = k, n = n, variable = variable, select = select, 
                testdata = testdata, testlevel = testlevel, method = method, 
                psigalpha = psigalpha)
        parallel::stopCluster(cl)
    }
    else {
        stop("Enter something that parallels me!")
    }
    testresults <- lapply(purrr::transpose(testresults), function(l) do.call(rbind, 
        l))
    psig <- testresults[[1]]
    pvalue <- testresults[[2]]
    effectsize <- testresults[[3]]
    correlation <- testresults[[4]]
    dif <- k
    psigdist <- matrix(0, 1, 6)
    colnames(psigdist) <- c("mean", "std", "median", "q1", "q2", 
        "dif")
    psigdist[, 1] <- mean(psig)
    if (length(psig) == 1) {
        psigdist[, 2] <- 0
    }
    else {
        psigdist[, 2] <- sd(psig)
    }
    psigdist[, 3] <- median(psig)
    psigdist[, 4] <- quantile(psig, probs = alpha/2)
    psigdist[, 5] <- quantile(psig, probs = (1 - alpha/2))
    psigdist[, 6] <- dif
    pvdist <- matrix(0, top_pm, 8)
    colnames(pvdist) <- c("mean", "std", "median", "q1", "q2", 
        "variable", "dif", "rep")
    pvdist[, 1] <- colMeans(pvalue)
    if (dim(pvalue)[1] == 1) {
        pvdist[, 2] <- 0
        pvdist[, 8] <- pvalue
    }
    else {
        pvdist[, 2] <- matrixStats::colSds(pvalue)
        pvdist[, 8] <- pvalue[1, ]
    }
    pvdist[, 3] <- matrixStats::colMedians(pvalue)
    pvdist[, 4] <- matrixStats::colQuantiles(pvalue, probs = alpha/2)
    pvdist[, 5] <- matrixStats::colQuantiles(pvalue, probs = (1 - 
        alpha/2))
    pvdist[, 6] <- selname
    pvdist[, 7] <- dif
    esdist <- matrix(0, top_pm, 7)
    colnames(esdist) <- c("mean", "std", "median", "q1", "q2", 
        "variable", "dif")
    esdist[, 1] <- colMeans(effectsize)
    if (dim(effectsize)[1] == 1) {
        esdist[, 2] <- 0
    }
    else {
        esdist[, 2] <- matrixStats::colSds(effectsize)
    }
    esdist[, 3] <- matrixStats::colMedians(effectsize)
    esdist[, 4] <- matrixStats::colQuantiles(effectsize, probs = alpha/2)
    esdist[, 5] <- matrixStats::colQuantiles(effectsize, probs = (1 - 
        alpha/2))
    esdist[, 6] <- selname
    esdist[, 7] <- dif
    crdist <- matrix(0, top_pm, 7)
    colnames(crdist) <- c("mean", "std", "median", "q1", "q2", 
        "variable", "dif")
    crdist[, 1] <- colMeans(correlation)
    if (dim(correlation)[1] == 1) {
        crdist[, 2] <- 0
    }
    else {
        crdist[, 2] <- matrixStats::colSds(correlation)
    }
    crdist[, 3] <- matrixStats::colMedians(correlation)
    crdist[, 4] <- matrixStats::colQuantiles(correlation, probs = alpha/2)
    crdist[, 5] <- matrixStats::colQuantiles(correlation, probs = (1 - 
        alpha/2))
    crdist[, 6] <- selname
    crdist[, 7] <- dif
    return(list(psigdist = psigdist, pvdist = pvdist, esdist = esdist, 
        crdist = crdist))
  }

LyonsZhang/ProgPermute documentation built on July 22, 2020, 4:09 p.m.