PFL.base <- function(y,X,l1,l2,g=1e8,svalues) { library(lars) p<-ncol(X) n<-nrow(X) m<-length(svalues) X.org<-X y.org<-y X.m<-rep(0,p) X.sd<-rep(0,p) for( i in 1:p) { X.m[i]<-mean(X[,i]) X.sd[i]<-sd(X[,i]) X[,i]<-(X[,i]-X.m[i])/X.sd[i] } y.m<-mean(y) y<-y-y.m l1<-1-l2 g<-g G <- p G1 <- G-1 A <- NULL for (k in 0:(G1-1)) { Ak <- cbind(matrix(0,G1-k,k),-1/l1,diag(1/l1,G1-k), matrix(0,G1-k,choose(G,2)-choose(G-k,2)), diag(-1/l2,G1-k),matrix(0,G1-k,choose(G1-k,2))) A <- rbind(A,Ak) } #X2<-X%*%t(A[,c(1:G)])*l1 X2<-matrix(0,n,choose(p,2)) D<-cbind(X/l1,X2) D<-rbind(D,sqrt(g)*A) yext <- c(y,rep(0,nrow(A))) larsEst <- lars(x=D,y=yext,use.Gram=FALSE,normalize=FALSE,intercept=FALSE) #,eps =1e-2 all.trans.pred <- predict.lars(larsEst,s=svalues,type="coef",mode="lambda")$coef larsPaths <- all.trans.pred[,1:p]/l1 Dcoef<- all.trans.pred[,-c(1:p)]/l2 kq.est<-rep(0,p) dcoef<-matrix(0,m,p) est.org<-matrix(0,m,p) est<-matrix(0,m,p) for (i in 1:p) { l.vec<-c(0,rep(0,i)) for(k in 2:(i+1)) { l.vec[k]<-l.vec[k-1]+p-(k-1) } if(i==1) { dcoef[,i]<--rowSums(Dcoef[,c(1:l.vec[2])]) } if(1