1 | con_exchange(k, top_pm, n, zoomn, variable, select, selname, testdata, testlevel, alpha, psigalpha, method, test_fun = con_multitest, paral)
|
k |
|
top_pm |
|
n |
|
zoomn |
|
variable |
|
select |
|
selname |
|
testdata |
|
testlevel |
|
alpha |
|
psigalpha |
|
method |
|
test_fun |
|
paral |
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))
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.