diffnet_singlesplit {nethet} | R Documentation |
Differential Network for user specified data splits
diffnet_singlesplit(x1, x2, split1, split2, screen.meth = "screen_bic.glasso", compute.evals = "est2.my.ev3", algorithm.mleggm = "glasso_rho0", include.mean = FALSE, method.compquadform = "imhof", acc = 1e-04, epsabs = 1e-10, epsrel = 1e-10, show.warn = FALSE, save.mle = FALSE, ...)
x1 |
Data-matrix sample 1. You might need to center and scale your data-matrix. |
x2 |
Data-matrix sample 2. You might need to center and scale your data-matrix. |
split1 |
Samples (condition 1) used in screening step. |
split2 |
Samples (condition 2) used in screening step. |
screen.meth |
Screening procedure. Options: 'screen_bic.glasso' (default), 'screen_cv.glasso', 'screen_shrink' (not recommended). |
compute.evals |
Method to estimate the weights in the weighted-sum-of-chi2s distribution. The default and (currently) the only available option is the method 'est2.my.ev3'. |
algorithm.mleggm |
Algorithm to compute MLE of GGM. The algorithm 'glasso_rho' is the default and (currently) the only available option. |
include.mean |
Should sample specific means be included in hypothesis? Use include.mean=FALSE (default and recommended) which assumes mu1=mu2=0 and tests the hypothesis H0: Omega_1=Omega_2. |
method.compquadform |
Method to compute distribution function of weighted-sum-of-chi2s (default='imhof'). |
acc |
See ?davies (default 1e-04). |
epsabs |
See ?imhof (default 1e-10). |
epsrel |
See ?imhof (default 1e-10). |
show.warn |
Should warnings be showed (default=FALSE)? |
save.mle |
Should MLEs be in the output list (default=FALSE)? |
... |
Additional arguments for screen.meth. |
Remark:
* If include.mean=FALSE, then x1 and x2 have mean zero and DiffNet tests the hypothesis H0: Omega_1=Omega_2. You might need to center x1 and x2. * If include.mean=TRUE, then DiffNet tests the hypothesis H0: mu_1=mu_2 & Omega_1=Omega_2 * However, we recommend to set include.mean=FALSE and to test equality of the means separately. * You might also want to scale x1 and x2, if you are only interested in differences due to (partial) correlations.
list consisting of
pval.onesided |
p-value |
pval.twosided |
ignore this output |
teststat |
log-likelihood-ratio test statistic |
weights.nulldistr |
estimated weights |
active |
active-sets obtained in screening-step |
sig |
constrained mle (covariance) obtained in cleaning-step |
wi |
constrained mle (inverse covariance) obtained in cleaning-step |
mu |
mle (mean) obtained in cleaning-step |
n.stadler
##set seed set.seed(1) ##sample size and number of nodes n <- 40 p <- 10 ##specifiy sparse inverse covariance matrices gen.net <- generate_2networks(p,graph='random',n.nz=rep(p,2), n.nz.common=ceiling(p*0.8)) invcov1 <- gen.net[[1]] invcov2 <- gen.net[[2]] plot_2networks(invcov1,invcov2,label.pos=0,label.cex=0.7) ##get corresponding correlation matrices cor1 <- cov2cor(solve(invcov1)) cor2 <- cov2cor(solve(invcov2)) ##generate data under alternative hypothesis library('mvtnorm') x1 <- rmvnorm(n,mean = rep(0,p), sigma = cor1) x2 <- rmvnorm(n,mean = rep(0,p), sigma = cor2) ##run diffnet split1 <- sample(1:n,20)#samples for screening (condition 1) split2 <- sample(1:n,20)#samples for screening (condition 2) dn <- diffnet_singlesplit(x1,x2,split1,split2) dn$pval.onesided#p-value