我试图使用此页面中的以下代码进行Lasso回归 https://www.rstatisticsblog.com/data-science-in-action/lasso-regression/
问题是我的r无法识别y-var [test]说找不到。当我将其转换为y-var [x-test]时,我在这行代码
之后收到以下消息cv_output <- cv.glmnet(x_vars[train,], y_var[train],
alpha = 1, lambda = lambda_seq)
Error in storage.mode(y) <- "double" :
invalid to change the storage mode of a factor
我在做什么错?
任何见解都会有所帮助。
答案 0 :(得分:0)
您所引用的代码中有一些错别字/错误。我修复了其中一些,这对我有用:
library(glmnet)
# Loading the data
data(swiss)
x_vars <- model.matrix(Fertility~. , swiss)[,-1]
y_var <- swiss$Fertility
lambda_seq <- 10^seq(2, -2, by = -.1)
set.seed(86)
train <- sample(1:nrow(x_vars), floor(nrow(x_vars)/2))
cv_output <- cv.glmnet(x_vars[train,], y_var[train],
alpha = 1, lambda = lambda_seq)
我只收到有关grouped=FALSE
的警告。