I am trying to model some data using the

`glmnet`

package in R. Let’s say I have the following data`training_x <- data.frame(variable1 = c(1, 2, 3, 2, 3), variable2 = c(1, 2, 3, 4, 5)) y <- c(1, 2, 3, 4, 5)`

(This is a simplification; my data are much more complicated.) Then I used the following code to create the glmnet model.

`x <- as.matrix(training_x) library(glmnet) GLMnet_model_1 <- glmnet(x, y, family="gaussian", alpha=0.755, nlambda=1000, standardize=FALSE, maxit=100000)`

I am using

`standardize=FALSE`

because my real life data are already standardized. Then I want to make prediction over a new set of data. Let’s say my new data are:`newdata <- as.matrix(data.frame(variable1 = c(2, 2, 1, 3), variable2 = c(6, 2, 1, 3))) results <- predict(object=GLMnet_model_1, newx, type="response")`

I would expect results to contain 4 elements (predictions of the

`newdata`

), but instead it gives me a 4×398 matrix. What am I doing wrong?

**Answer**

You need to specify for which value of lambda you want to predict the response. All you need to do is to call like like e.g.:

```
results <-predict(GLMnet_model_1, s=0.01, newx, type="response")
```

**Attribution***Source : Link , Question Author : Benoit_Plante , Answer Author : AlefSin*