############ iBMA.glm
library("MASS")
data(birthwt)
y<- birthwt$lo
x<- data.frame(birthwt[,-1])
x$race<- as.factor(x$race)
x$ht<- (x$ht>=1)+0
x<- x[,-9]
x$smoke <- as.factor(x$smoke)
x$ptl<- as.factor(x$ptl)
x$ht <- as.factor(x$ht)
x$ui <- as.factor(x$ui)
### add 41 columns of noise
noise<- matrix(rnorm(41*nrow(x)), ncol=41)
colnames(noise)<- paste('noise', 1:41, sep='')
x<- cbind(x, noise)
iBMA.glm.out<- iBMA.glm(x, y, glm.family="binomial", factor.type=FALSE,
verbose = TRUE, thresProbne0 = 5 )
summary(iBMA.glm.out)
################## iBMA.surv
library(survival)
data(veteran)
surv.t<- veteran$time
cens<- veteran$status
veteran$time<- NULL
veteran$status<- NULL
lvet<- nrow(veteran)
invlogit<- function(x) exp(x)/(1+exp(x))
# generate random noise, 34 uniform variables and 10 factors each with 4 levels
X<- data.frame(matrix(runif(lvet*34), ncol=34),
matrix(c("a","b","c","d","e","f")[(rbinom(10*lvet, 3, .5))+1],
ncol = 10))
colnames(X)<- c(paste("u",1:34, sep=""),paste("C",1:10, sep=""))
veteran_plus_noise<- cbind(veteran, X)
test.iBMA.surv<- iBMA.surv(x = veteran_plus_noise, surv.t = surv.t, cens = cens,
thresProbne0 = 5, maxNvar = 30, factor.type = TRUE,
verbose = TRUE, nIter = 100)
test.iBMA.surv
summary(test.iBMA.surv)
############ iBMA.bicreg ... degenerate example
library(MASS)
data(UScrime)
UScrime$M<- log(UScrime$M); UScrime$Ed<- log(UScrime$Ed);
UScrime$Po1<- log(UScrime$Po1); UScrime$Po2<- log(UScrime$Po2);
UScrime$LF<- log(UScrime$LF); UScrime$M.F<- log(UScrime$M.F)
UScrime$Pop<- log(UScrime$Pop); UScrime$NW<- log(UScrime$NW);
UScrime$U1<- log(UScrime$U1); UScrime$U2<- log(UScrime$U2);
UScrime$GDP<- log(UScrime$GDP); UScrime$Ineq<- log(UScrime$Ineq)
UScrime$Prob<- log(UScrime$Prob); UScrime$Time<- log(UScrime$Time)
noise<- matrix(rnorm(35*nrow(UScrime)), ncol=35)
colnames(noise)<- paste('noise', 1:35, sep='')
UScrime_plus_noise<- cbind(UScrime, noise)
y<- UScrime_plus_noise$y
UScrime_plus_noise$y<- NULL
# run 2 iterations and examine results
iBMA.bicreg.crime<- iBMA.bicreg( x = UScrime_plus_noise, Y=y, thresProbne0 = 5,
verbose = TRUE, maxNvar = 30, nIter = 2)
summary(iBMA.bicreg.crime)
orderplot(iBMA.bicreg.crime)
# run from current state until completion
iBMA.bicreg.crime<- iBMA.bicreg( iBMA.bicreg.crime, nIter = 200)
summary(iBMA.bicreg.crime)
orderplot(iBMA.bicreg.crime)
cat("CAUTION: iBMA.bicreg can give degenerate results when")
cat("the number of predictor variables is large
")
Run the code above in your browser using DataLab