############################################################
### plot Lasso path of two coefficients vs lambda so you can see linear+knots.
############################################################
#dpl=FALSE
dpl=TRUE
library(glmnet)
################################################
if(1) {cat("### read in data\n")
ddf = read.csv("diabetes.csv")
y = ddf$y
x = as.matrix(ddf[,2:ncol(ddf)])
}
################################################
if(1) {cat("### see lasso\n")

dgn = glmnet(x,y,family="gaussian",standardize=FALSE,intercept=FALSE,alpha=1)

## plot two coefs against lambda, notice they look "linear between knots"
if(dpl) pdf(file="see-lasso.pdf",height=10,width=12)
print(rownames(dgn$beta)[4:5])
yrg = range(dgn$beta[4:5,])
plot(dgn$lambda,dgn$beta[4,],ylim=yrg,col="red",type="b",ylab="coef",xlab="lambda",
                cex.axis=1.5,cex.lab=1.5)
points(dgn$lambda,dgn$beta[5,],ylim=yrg,col="blue",type="b")
if(dpl) dev.off()
}
###############################################
if(dpl) rm(list=ls())
