`glmnet`

`bigGlm.Rd`

Fit a generalized linear model as in `glmnet`

but unpenalized. This
allows all the features of `glmnet`

such as sparse x, bounds on
coefficients, offsets, and so on.

`bigGlm(x, ..., path = FALSE)`

- x
input matrix

- ...
Most other arguments to glmnet that make sense

- path
Since

`glmnet`

does not do stepsize optimization, the Newton algorithm can get stuck and not converge, especially with unpenalized fits. With`path=TRUE`

, the fit computed with pathwise lasso regularization. The current implementation does this twice: the first time to get the lambda sequence, and the second time with a zero attached to the end). Default is`path=FALSE`

.

It returns an object of class "bigGlm" that inherits from class
"glmnet". That means it can be predicted from, coefficients extracted via
`coef`

. It has its own print method.

This is essentially the same as fitting a "glmnet" model with a single value
`lambda=0`

, but it avoids some edge cases. CAVEAT: If the user tries a
problem with N smaller than or close to p for some models, it is likely to
fail (and maybe not gracefully!) If so, use the `path=TRUE`

argument.

`print`

, `predict`

, and `coef`

methods.

```
# Gaussian
x = matrix(rnorm(100 * 20), 100, 20)
y = rnorm(100)
fit1 = bigGlm(x, y)
print(fit1)
#>
#> Call: bigGlm(x = x, y = y)
#>
#> Df %Dev Lambda
#> 1 20 8.81 0
fit2=bigGlm(x,y>0,family="binomial")
print(fit2)
#>
#> Call: bigGlm(x = x, y = y > 0, family = "binomial")
#>
#> Df %Dev Lambda
#> 1 20 5.65 0
fit2p=bigGlm(x,y>0,family="binomial",path=TRUE)
print(fit2p)
#>
#> Call: bigGlm(x = x, y = y > 0, family = "binomial", path = TRUE)
#>
#> Df %Dev Lambda
#> 1 20 5.65 0
```