Как исправить "Ошибка в storage.mode (y) <-" double ": неверно изменять режим хранения фактора" в Лассо? - PullRequest
0 голосов
/ 08 апреля 2019

Я получаю следующую ошибку при использовании регрессии гребня и лассо.

Ошибка в storage.mode (y) <- "double": неверно для изменения режим хранения фактора </p>

Мой набор данных выглядит так:

> as_data_frame(blca.only)
# A tibble: 315 x 435
   Tags  TCGA.BL.A5ZZ.01 TCGA.XF.AAN1.01 TCGA.DK.A2I4.01 TCGA.XF.A9T4.01
   <fct>           <dbl>           <dbl>           <dbl>           <dbl>
 1 ENSG~           2001.           2170.             0                0 
 2 ENSG~              0               0             64.4              0 
 3 ENSG~          68078.          93147.        108379.           78136.
 4 ENSG~              0               0              0                0 
 5 ENSG~         160562.         176357.        153682.          204135.
 6 ENSG~         217109.         399909.        215158.          253031.
 7 ENSG~              0               0              0                0 
 8 ENSG~           1583.           1236.          1982.            4618.
 9 ENSG~        3535627.        7037139.       2725637.         3036243.
10 ENSG~           1843.           3997.          1282.            1607.
# ... with 305 more rows, and 430 more variables: TCGA.DK.AA6Q.01 <dbl>,
#   TCGA.XF.A8HB.01 <dbl>, TCGA.2F.A9KR.01 <dbl>, TCGA.FD.A3N6.01 <dbl>,
#   TCGA.GV.A3QK.01 <dbl>, TCGA.ZF.A9RE.01 <dbl>, TCGA.FD.A43S.01 <dbl>,
#   TCGA.K4.A5RI.11 <dbl>, TCGA.ZF.AA4U.01 <dbl>, TCGA.GV.A3QF.01 <dbl>,
#   TCGA.UY.A9PE.01 <dbl>, TCGA.FD.A3B4.01 <dbl>, TCGA.GC.A3YS.01 <dbl>,
#   TCGA.G2.A2EF.01 <dbl>, TCGA.BT.A42C.01 <dbl>, TCGA.FD.A62O.01 <dbl>,
#   TCGA.BL.A13J.01 <dbl>, TCGA.E5.A4U1.01 <dbl>, TCGA.E7.A6MD.01 <dbl>,
#   TCGA.CF.A47Y.01 <dbl>, TCGA.5N.A9KI.01 <dbl>, TCGA.DK.A3IT.01 <dbl>,
#   TCGA.DK.AA77.01 <dbl>, TCGA.ZF.AA4R.01 <dbl>, TCGA.GU.A763.01 <dbl>,
#   TCGA.DK.A3IL.01 <dbl>, TCGA.FD.A6TC.01 <dbl>, TCGA.FD.A3SP.01 <dbl>,
#   TCGA.GC.A6I1.01 <dbl>, TCGA.FD.A6TK.01 <dbl>, TCGA.BL.A0C8.01 <dbl>,
#   TCGA.ZF.AA51.01 <dbl>, TCGA.ZF.AA5H.01 <dbl>, TCGA.CF.A9FM.01 <dbl>,
#   TCGA.H4.A2HQ.01 <dbl>, TCGA.DK.AA74.01 <dbl>, TCGA.XF.AAMR.01 <dbl>,
#   TCGA.BT.A20N.01 <dbl>, TCGA.DK.A2HX.01 <dbl>, TCGA.CF.A27C.01 <dbl>,
#   TCGA.DK.AA6M.01 <dbl>, TCGA.XF.A9SH.01 <dbl>, TCGA.CF.A7I0.01 <dbl>,
#   TCGA.KQ.A41P.01 <dbl>, TCGA.CF.A3MG.01 <dbl>, TCGA.CF.A9FF.01 <dbl>,
#   TCGA.FJ.A3ZF.01 <dbl>, TCGA.K4.A6MB.01 <dbl>, TCGA.HQ.A5NE.01 <dbl>,
#   TCGA.XF.A9SV.01 <dbl>, TCGA.FD.A6TB.01 <dbl>, TCGA.H4.A2HO.01 <dbl>,
#   TCGA.ZF.AA4N.01 <dbl>, TCGA.E7.A7XN.01 <dbl>, TCGA.G2.AA3B.01 <dbl>,
#   TCGA.CF.A47T.01 <dbl>, TCGA.K4.A3WU.01 <dbl>, TCGA.GU.A766.01 <dbl>,
#   TCGA.GV.A3JV.01 <dbl>, TCGA.GC.A3WC.11 <dbl>, TCGA.BT.A20R.01 <dbl>,
#   TCGA.DK.A2I6.01 <dbl>, TCGA.ZF.AA53.01 <dbl>, TCGA.ZF.A9R1.01 <dbl>,
#   TCGA.E7.A97P.01 <dbl>, TCGA.C4.A0EZ.01 <dbl>, TCGA.DK.A3X2.01 <dbl>,
#   TCGA.FD.A5BU.01 <dbl>, TCGA.K4.A6FZ.01 <dbl>, TCGA.KQ.A41Q.01 <dbl>,
#   TCGA.CF.A9FH.01 <dbl>, TCGA.BL.A13I.01 <dbl>, TCGA.ZF.A9R4.01 <dbl>,
#   TCGA.DK.A3IU.01 <dbl>, TCGA.CU.A0YN.01 <dbl>, TCGA.2F.A9KT.01 <dbl>,
#   TCGA.XF.A9SL.01 <dbl>, TCGA.DK.AA75.01 <dbl>, TCGA.CF.A9FL.01 <dbl>,
#   TCGA.DK.A6B1.01 <dbl>, TCGA.K4.A3WV.11 <dbl>,
#   TCGA.BL.A13I.01_Rep85 <dbl>, TCGA.GV.A3QH.01 <dbl>,
#   TCGA.XF.A9SM.01 <dbl>, TCGA.ZF.AA5P.01 <dbl>, TCGA.DK.A6B0.01 <dbl>,
#   TCGA.G2.A2ES.01 <dbl>, TCGA.CF.A1HS.01 <dbl>, TCGA.FJ.A3Z7.01 <dbl>,
#   TCGA.HQ.A2OF.01 <dbl>, TCGA.C4.A0F6.01 <dbl>, TCGA.FD.A5C1.01 <dbl>,
#   TCGA.ZF.A9R9.01 <dbl>, TCGA.GU.A42P.01 <dbl>, TCGA.FD.A43U.01 <dbl>,
#   TCGA.S5.A6DX.01 <dbl>, TCGA.GD.A3OP.11 <dbl>, TCGA.K4.A4AC.01 <dbl>,
#   TCGA.GD.A2C5.01 <dbl>, TCGA.4Z.AA84.01 <dbl>, ..

Я пытался:

> lasso.1 <- glmnet(x = as.matrix(blca.only[,-1]), y = factor(blca.only$Tags), alpha = 1)

Error in storage.mode(y) <- "double" : 
  invalid to change the storage mode of a factor
> Y <- factor(blca.only$Tags)
> lasso.1 <- glmnet(x = as.matrix(blca.only[,-1]), y = blca.only$Tags, alpha = 1)
Error in storage.mode(y) <- "double" : 
  invalid to change the storage mode of a factor

> Y <- factor(blca.only$Tags)
> lasso.1 <- glmnet(x = as.matrix(blca.only[,-1]), y = Y, alpha = 1)

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

Мой тип данных выглядит так:

    > typeof(blca.only)

[1] "list"

Я не знаю, как решить эту проблему. Заранее спасибо! Надеюсь, вы поможете мне решить эту проблему.

1 Ответ

0 голосов
/ 08 апреля 2019

в вашем случае я предполагаю, что вы хотите логистическую регрессию. Поэтому вы должны указать аргумент family. Попробуйте это:

lasso.1 <- glmnet(x = as.matrix(blca.only[,-1]), y = factor(blca.only$Tags), alpha = 1,
family = "binomial")

См. Также этот вопрос для получения более подробной информации.

...