# Error in R Code for the Lasso Ridge regression

#1

Hello,

I am trying to write the corresponding R code for the article http://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-ridge-lasso-regression-python/

as I am not very much conversant with Python.

RCode:

``````rm(list = ls())
#Part 1:
x = array()
i = seq(60,300,4)
x = i*(pi/180)
set.seed(10)
y = sin(x) + rnorm(61,mean = 0,sd = 0.15)
plot(x,y,col = "blue")
data = data.frame('x' = x,'y' = y)

#Part 2:
for (i in seq(2,16)){
#power of 1 is already there
colname = paste('x_',i)
#new var will be x_power
data[colname] = data['x']**i}

#Part 3:
linear_regression <- function(data,power,models_to_plot){
#initialize predictors:
predictors= 'x'
if (power>=2){
for (i in seq(2,power)){
predictors[i] = paste('x_',i)
}
}

#Create a dataframe of predictors and y:
lm.data = data.frame(data[predictors],data['y'])

#Fit the model:
lm.fit = lm(y ~ .,data = lm.data)
reg_coeff = lm.fit\$coefficients
#Return the result in pre-defined format
ret = c()
ret[2] = reg_coeff[1]
for (i in 3:(length(lm.fit\$coefficients)+1)){
ret[i] = reg_coeff[i-1]
}
return (ret)
}

#Part 4:
#Initialize a dataframe to store the results:
col = c()
for (i in seq(1,16)){
col[i] = paste('coeff_x_',i)
}

ind = c()
for (i in seq(1,16)){
ind[i] = paste('model_pow_',i)
}

coef_matrix_simple = matrix(nrow = 15,ncol = 17)
rownames(coef_matrix_simple) = ind[1:15]
colnames(coef_matrix_simple) = col[1:17]
coef_matrix_simple = as.data.frame(coef_matrix_simple)

#Define the powers for which a plot is required:
models_to_plot = c(1:231,3:232,6:233,9:234,12:235,15:236)

#Iterate through all powers and assimilate results:
for (i in seq(1,16)){
coef_matrix_simple[i,1:(i+2)] = linear_regression(data, power=i, models_to_plot=models_to_plot)
}
``````

However the last part where I want to update the coef_matrix_simple throws an error:

`> for (i in seq(1,15))`