concordance function from package survivalMajor revision with added functionality. Any GLM family can be used now with glmnet, not just the built-in families. By passing a “family” object as the family argument (rather than a character string), one gets access to all families supported by glm. This development was programmed by our newest member of the glmnet team, Kenneth Tay.
Bug fixes
Intercept=FALSE with “Gaussian” is fixed. The dev.ratio comes out correctly now. The mortran code was changed directly in 4 places. look for “standard”. Thanks to Kenneth Tay.Bug fixes
confusion.glmnet was sometimes not returning a list because of apply collapsing structurecv.mrelnet and cv.multnet dropping dimensions inappropriatelystorePB to avoid segfault. Thanks Tomas Kalibera!assess.glmnet and cousins to be more helpful!lambda.interp to avoid edge cases (thanks David Keplinger)Minor fix to correct Depends in the DESCRIPTION to R (>= 3.6.0)
This is a major revision with much added functionality, listed roughly in order of importance. An additional vignette called relax is supplied to describe the usage.
relax argument added to glmnet. This causes the models in the path to be refit without regularization. The resulting object inherits from class glmnet, and has an additional component, itself a glmnet object, which is the relaxed fit.relax argument to cv.glmnet. This allows selection from a mixture of the relaxed fit and the regular fit. The mixture is governed by an argument gamma with a default of 5 values between 0 and 1.predict, coef and plot methods for relaxed and cv.relaxed objects.print method for relaxed object, and new print methods for cv.glmnet and cv.relaxed objects.trace.it=TRUE to glmnet and cv.glmnet. This can also be set for the session via glmnet.control.assess.glmnet, roc.glmnet and confusion.glmnet for displaying the performance of models.makeX for building the x matrix for input to glmnet. Main functionality is one-hot-encoding of factor variables, treatment of NA and creating sparse inputs.bigGlm for fitting the GLMs of glmnet unpenalized.In addition to these new features, some of the code in glmnet has been tidied up, especially related to CV.
coxnet.deviance to do with input pred, as well as saturated loglike (missing) and weightscoxgrad function for computing the gradientcv.glmnet, for cases when wierd things happeninst/mortraninst/mortran-Wall warningsnewoffset created problems all over - fixed theseexact=TRUE calls to coef and predict. See help file for more detailsy blows up elnet; error trap includedlambda.interp which was returning NaN under degenerate circumstances.Surv objectpredict and coef with exact=TRUE. The user is strongly encouraged to supply the original x and y values, as well as any other data such as weights that were used in the original fit.lognet when some weights are zero and x is sparsepredict.glmnet, predict.multnet and predict.coxnet, when s= argument is used with a vector of values. It was not doing the matrix multiply correctlyintercept optionglmnet.control for setting systems parameterscoxnetexact=TRUE option for prediction and coef functionsmgaussian family for multivariate responsegrouped option for multinomial familynewx and make dgCmatrix if sparselognet added a classnames component to the objectpredict.lognet(type="class") now returns a character vector/matrixpredict.glmnet : fixed bug with type="nonzero"glmnet: Now x can inherit from sparseMatrix rather than the very specific dgCMatrix, and this will trigger sparse mode for glmnetglmnet.Rd (lambda.min) : changed value to 0.01 if nobs < nvars, (lambda) added warnings to avoid single value, (lambda.min): renamed it lambda.min.ratioglmnet (lambda.min) : changed value to 0.01 if nobs < nvars (HessianExact) : changed the sense (it was wrong), (lambda.min): renamed it lambda.min.ratio. This allows it to be called lambda.min in a call thoughpredict.cv.glmnet (new function) : makes predictions directly from the saved glmnet object on the cv objectcoef.cv.glmnet (new function) : as abovepredict.cv.glmnet.Rd : help functions for the abovecv.glmnet : insert drop(y) to avoid 1 column matrices; now include a glmnet.fit object for later predictionsnonzeroCoef : added a special case for a single variable in x; it was dying on thisdeviance.glmnet : includeddeviance.glmnet.Rd : includedglmnet_1.4.