这就是解决方案;
lm(
paste0("y~(PC1+PC2+PC3+PC4+PC5)^",i),
data = as.data.frame(transformed2)
)
编辑@jogo
for(i in seq(2,10)){
abc <-
model.matrix(lm(
paste0("y~(anode + augiris + btb + elution + ewc + nacn + naoh + flow + loadcar+ saat_no)^",i),
data = as.data.frame(saat)
))
x <- (abc[, 2:length(colnames(abc))])
# print(head(x,2))
lambdas <- 10 ^ seq(3,-2, by = -.1)
for (alp in seq(0, 1, 0.01)) {
cv_fit <- cv.glmnet(x,
y,
alpha = alp,
lambda = lambdas)
opt_lambda <- cv_fit$lambda.min
fit <- cv_fit$glmnet.fit
y_predicted <-
predict(fit, s = opt_lambda, newx = x)
# Sum of Squares Total and Error
sst <- sum((y - mean(y)) ^ 2)
sse <- sum((y_predicted - y) ^ 2)
# R squared
rsq <- 1 - sse / sst
if (se_last > sse) {
se_last <- sse
rsq_son <- rsq
y_predicted_son <- y_predicted
y_son <- y
alp_son<-alp
fit_son <- fit
opt_lambda_son <- opt_lambda
i_son<-i
print(paste0(i, "-",alp, "-", rsq))
}
}
}