# #设置,包括= TRUE ------------------------------------------------------ 图书馆(knitr)图书馆(rmarkdown) knitr:: opts_chunk设置(echo = TRUE) # #美元——installation1 eval = FALSE ------------------------------------------------- # install.packages (BiocManager) # BiocManaged:安装(“sparsenetgls”)#库(sparsenetgls) # #——installation2 eval = FALSE ------------------------------------------------- # devtools: install_github(“superOmics / sparsenetgls”)#库(sparsenetgls) # #——示例1:评估估计结果从GGM, eval=TRUE-----------------库(MASS)库(矩阵)库(sparsenetgls) #模拟数据集数据(bandprec, package="sparsenetgls") varKnown <- solve(as.matrix(bandprec)) prec <- as.matrix(bandprec) Y0 <- mvrnorm(n=100, mu=rep(0,50), Sigma=varKnown) nlambda=10 #u-beta u <- rep(1,8) X_1 <- mvrnorm(n=100, mu=rep(0,8),Sigma=对角(8,rep(1,8))) Y_1 <- Y0+as.vector(X_1%*%as.matrix(u)) databand_X=X_1 databand_Y=Y_1 #生成精度矩阵omega <- sparsenetgls(responsedata=databand_Y, predictdata=databand_X, nlambda=10, ndist=1, method="glasso")$PREC_seq omega_est <- array(dim=c(50,50,10)) for (i in seq_len(10)) omega_est[,,i] <- as.matrix(omega[[i]]) roc_path_result <- path_result_for_roc(PREC_for_graph=prec, OMEGA_path=omega_est, pathnumber=10) plot_roc(result_assessment=roc_path_result,group=FALSE, ngroup=0, est_names="glasso estimate ") ## ----示例2:使用sparsenetgls和convertbeta函数,eval=TRUE------- fitgls <- sparsenetgls(databand_Y, databand_X, nlambda=10, ndist=5, method="glasso") #转换回归系数到其原始规模q <- dim(databand_X)[2] nlambda=10 betagls <- matrix(nrow=nlambda, ncol=q+1) for (i in seq_len(nlambda)) betagls[i,] <- convertbeta(Y=databand_Y, X=databand_X, q=q+1,beta0=fitgls$beta[,i])$betaconv # beta选择#选择lambda和dist值基于beta ndist <- max(fitgls$power)-1 tr_gamma <- matrix(nrow=10, ncol= ndist1) for (j in seq_len(ndist1)) for (i in seq_len(nlambda)) tr_gamma[i,j] <- (sum(diag(fitgls$covBeta[,,j,i])) select.lambda.dist <- which(tr_gamma==min(tr_gamma), arr.ind=TRUE) select.lambda.dist betagls_select <- betagls[select.lambda.]#行是lambda,列是dist varbeta <- diag(fitgls$covBeta[,,ndist,select.lambda.dist[1]]) ##根据AIC和BIC选择lambda和dist值。this (fitgls$bic==min(fitgls$bic,na.rm=TRUE), arr.ind=TRUE)dist3 <- which(fitgls$aic==min(fitgls$aic,na.rm=TRUE), arr.ind=TRUE) varbeta_bic <- diag(fitgls$covBeta[,,ndist,select.lambda.dist2[1]]) varbeta_aic <- diag(fitgls$covBeta[,,ndist,select.lambda.dist2[1]]) ## ----例3,获取可视化结果,eval=TRUE-------------------------- plotsngls(fitgls,ith_lambda=5) ## ----例4,使用不同的GGM估计选项,eval=TRUE------------ #使用glasso方法估计精度矩阵fitgls_g <- sparsenetgls(databand_Y,databand_X, nlambda=10, ndist=5, method="elastic") #使用套索方法近似精度矩阵#fitgls_l <- sparsenetgls(databand_Y, databand_X, nlambda=10, ndist=5, #method="套索")#使用Meinshausen B?hlmann方法近似精度矩阵# fitgls_m < - sparsenetgls (databand_Y、databand_X nlambda = 10, ndist = 5, #方法= " mb ") ## ---- sessionInfo,呼应= TRUE, eval = TRUE ------------------------------------------ sessionInfo ()