У меня есть двойник, где первый столбец - это название курса, а второй столбец - лямбда-значение (это коэффициенты из модели регрессии со штрафом). Мой double состоит из нескольких тысяч строк, причем большинство лямбда-значений равны нулю. Однако есть несколько ненулевых значений. Как я могу отфильтровать это двойное, чтобы остались только ненулевые коэффициенты? Вот что у меня есть:
Чтобы увидеть коэффициенты с минимальной ошибкой перекрестной проверки:
course_coef1 <- as.matrix(coef(lasso_reg, lasso_reg$lambda.min))
head(course_coef1)
1
(Intercept) 0.4170463
PHYS 1116 0.0000000
VISST 2511 0.0000000
MATH 1920 0.0000000
PHIL 1110 0.0000000
FREN 1220 0.0000000
, когда я это делаю, я удаляю левый столбец двойника, что я не делаю. не хочу делать. Я хочу видеть курс, к которому относится также коэффициент
non_zero <- course_coef1[course_coef1[,1] != 0]
non_zero
[1] 4.170463e-01 1.186766e-02 1.022153e-02 -1.728692e-02 -1.267802e-02 2.953045e-02 -7.366728e-04 -6.825617e-02 2.581637e-02 1.030888e-01
[11] -6.815507e-02 -6.177919e-04 3.138149e-02 1.297283e-05 7.753567e-02 -1.562090e-01 -2.301548e-01 -2.635691e-02 -1.382577e-02 1.487066e-02
[21] -3.922772e-04 -2.267470e-02 -2.668698e-02 3.372374e-02 2.309662e-02 4.383800e-02 8.291964e-03 2.643610e-04 -2.237277e-03 -3.068006e-04