【问题标题】:glmnet input error, format of the input matrix incorrectglmnet 输入错误,输入矩阵的格式不正确
【发布时间】:2018-06-29 12:04:49
【问题描述】:

我收到以下错误

Error in storage.mode(y) <- "double" : invalid to change the storage mode of 
a factor

正确获取输入矩阵格式的问题。 代码如下:

library("glmnet")

daten = read.csv("test.csv",header = 1)
# Sex   Age Weight  Height  Other
# 0 22  54  154 1.51
# 1 34  76  178 1.94
# 1 38  75  178 1.93
# 1 32  102 178 2.19
# ...
# 1 35  94  184 2.18

trainX <- daten

# outcome variable
Y <- c(0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,1)
trainY <- factor(Y)

fit.lasso=glmnet(trainX,trainY,alpha=1)

trainY 似乎被正确格式化为因素,但 trainX 有什么问题?

任何 cmets 将不胜感激。

【问题讨论】:

    标签: matrix input format glmnet


    【解决方案1】:

    问题解决了! 直接跳过这一步

    trainY <- factor(Y)
    

    并使用

    fit.lasso=glmnet(trainX,Y,alpha=1)
    

    而且效果很好!

    【讨论】: