# NOT RUN {
mat<-replicate(100, rnorm(20))
mydecom<-networkEiganat( mat, nvecs=5 )
ch1<-usePkg('randomForest')
ch2<-usePkg('BGLR')
if ( ch1 & ch2 ) {
data(mice)
snps<-quantifySNPs( mice.X )
numericalpheno<-as.matrix( mice.pheno[,c(4,5,13,15) ] )
numericalpheno<-residuals( lm( numericalpheno ~
as.factor(mice.pheno$Litter) ) )
phind<-3
nfolds<-6
train<-sample( rep( c(1:nfolds), 1800/nfolds ) )
train<-( train < 4 )
lowr<-lowrankRowMatrix(as.matrix( snps[train,] ),900)
snpdS<-sparseDecom( lowr , nvecs=2 , sparseness=( -0.001), its=3 )
snpdF<-sparseDecom( lowrankRowMatrix(as.matrix( snps[train,] ),100),
nvecs=2 , sparseness=( -0.001), its=3 )
projmat<-as.matrix( snpdS$eig )
projmat<-as.matrix( snpdF$eig )
snpdFast<-networkEiganat( as.matrix( snps[train,] ), nvecs=2 ,
sparseness=c( 1, -0.001 ) , downsample=45, verbose=T, its=3,
gradparam=10 )
snpdSlow<-networkEiganat( as.matrix( snps[train,] ), nvecs=2 ,
sparseness=c( 1, -0.001 ) , downsample=0, verbose=T,
its=3, gradparam=10 )
snpd<-snpdSlow
snpd<-snpdFast
projmat<-as.matrix( snpd$v )
snpdF<-sparseDecom( lowrankRowMatrix(as.matrix( snps[train,] ),10) ,
nvecs=2 , sparseness=( -0.001), its=3 )
projmat<-as.matrix( snpdS$eig )
snpse<-as.matrix( snps[train, ] ) %*% projmat
traindf<-data.frame( bmi=numericalpheno[train,phind] , snpse=snpse)
snpse<-as.matrix( snps[!train, ] ) %*% projmat
testdf <-data.frame( bmi=numericalpheno[!train,phind] , snpse=snpse )
myrf<-glm( bmi ~ . , data=traindf )
preddf<-predict(myrf, newdata=testdf )
cor.test(preddf, testdf$bmi )
if ( usePkg('visreg') ) {
mydf<-data.frame( PredictedBMIfromSNPs=preddf, RealBMI=testdf$bmi )
mymdl<-lm( PredictedBMIfromSNPs ~ RealBMI, data=mydf)
visreg::visreg(mymdl) }
###########
# vs glmnet #
###########
haveglm<-usePkg('glmnet')
if ( haveglm ) {
kk<-glmnet(y=numericalpheno[train,phind],x=snps[train,] )
ff<-predict(kk,newx=snps[!train,])
cor.test(ff[,25],numericalpheno[!train,phind])
mydf<-data.frame( PredictedBMIfromSNPs=ff[,25], RealBMI=testdf$bmi )
mymdl<-lm( PredictedBMIfromSNPs ~ RealBMI, data=mydf)
} # glmnet check
} # ch1 and ch2
###########
# }
Run the code above in your browser using DataLab