r - Bootstrap LASSO Lambda -


i trying bootstrap lambda1 parameter in lasso regression (library penalized) (not coefficients estimates know not make sense calculate e.g. 95% cis them, question lambda1 only). far:

df <- read.table(header=t, text="group class v1 v2  1          ala         1          3.98         23.2   2          ala         2          5.37         18.5   3          c         1          4.73         22.1   4          b         1          4.17         22.3   5          c         2          4.47         22.4   ")  

tried this:

x<-df[,c(3,4)] # data, variables in columns, cases in rows y<-df[,2] # dichotomous response (i 1:100) { opt1<-optl1(y,x) opt1$lambda } 

but got error: unexpected "}" in "}"

tried this:

f<-function(x,y,i){ opt1<-optl1(y,x,[i]) } boot(x,f,100) 

but got error in boot (x,f,100): incorrect number of subscripts on matrix... can help?

here wrong loop:

1) needs syntax (i in 1:100) {} in order work;

2) needs save opt1$lambda in proper object;

3) needs values (y,x) change 1 iteration of loop another.

the r code addresses items 1) , 2) above written follows:

lambda <- null  (i in 1:100) {      opt1 <- optl1(y,x)  # opt1 not change                   # since y , x same                   # on each iteration of loop     lambda <- c(lambda, opt1$lambda)  }  lambda 

in code, object lambda store value opt1$lambda produced @ each iteration declared @ top of loop command lambda -> null , augmented after each iteration command lambda <- c(lambda, opt1$lambda).

in general, using null trick not recommended large number of iterations. better alternative this:

lambda <- list('vector', 100)  (i in 1:100) {    opt1 <- optl1(y,x)  # opt1 not change                   # since y , x same                   # on each iteration of loop   lambda[i] <- opt1$lambda  }  lambda <- unlist(lambda)   lambda 

with second alternative, pre-allocate lambda @ top of loop list 100 components, such i-th component store value opt1$lambda produced during i-th iteration. inside loop, save value of opt1$lambda in list named lambda command:

lambda[i] <- opt1$lambda.  

at end of loop, unlist lambda becomes regular vector (i.e., column of numbers).


Comments

Popular posts from this blog

sublimetext3 - what keyboard shortcut is to comment/uncomment for this script tag in sublime -

java - No use of nillable="0" in SOAP Webservice -

ubuntu - Laravel 5.2 quickstart guide gives Not Found Error -