The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

springer

Sparse Group Variable Selection for Gene-Environment Interactions in the Longitudinal Study

Recently, regularized variable selection has emerged as a power tool to identify and dissect gene-environment interactions. Nevertheless, in longitudinal studies with high dimensional genetic factors, regularization methods for G×E interactions have not been systematically developed. In this package, we provide the implementation of sparse group variable selection, based on both the quadratic inference function (QIF) and generalized estimating equation (GEE), to accommodate the bi-level selection for longitudinal G×E studies with high dimensional genomic features. Alternative methods conducting only the group or individual level selection have also been included. The core modules of the package have been developed in C++.

How to install

install.packages("devtools")
devtools::install_github("feizhoustat/springer")

Example

#install.packages("devtools")
#devtools::install_github("feizhoustat/springer")
library(springer)
data("dat")
e <- dat$e
u=dim(e)[2]
g <- dat$g
y <- dat$y
clin <- dat$clin
if(is.null(clin)){t=0} else{t=dim(clin)[2]}
beta0 <- dat$coef

lambda1 = seq(0.01,0.1,length.out=2)
lambda2 = seq(0.01,0.1,length.out=2)
tunning = cv.springer(clin=NULL, e, g, y,beta0, lambda1, lambda2, nfolds=5, func="GEE", corr="independence", structure="bilevel", maxits=30, tol=0.1)
lam1 <- tunning$lam1
lam2 <- tunning$lam2
lam1
lam2
tunning$CV

beta = springer(clin=clin, e, g, y,beta0,func="GEE",corr="independence",structure="bilevel",
lam1=dat$lam1, lam2=dat$lam2,maxits=30,tol=0.01)
##only focus on the genetic main effects and gene-environment interactions
beta[1:(1+t+u)]=0
##effects that have nonzero coefficients
pos = which(beta != 0)
##true positive and false positive
tp = length(intersect(index, pos))
fp = length(pos) - tp
list(tp=tp, fp=fp)

Methods

This package provides implementation for methods proposed in

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.