Я использую cv.gl mnet для двоичного набора данных генотипов, чтобы предсказать фенотип с непрерывной переменной. Данные выглядят примерно так, но с> 200 генами:
Pheno K00074 K00100 K00179 K00180
1 18.063630 0 0 0 0
2 16.746644 0 0 0 0
3 16.016194 1 0 0 0
4 -1.469207 1 1 0 0
5 -3.047956 1 0 1 1
6 15.274531 1 0 0 0
Мой код для cv.glmnet
и predict
выглядит следующим образом:
cv.lasso <- cv.glmnet(x = as.matrix(zx), y = unlist(zy), alpha = 1,
type.measure = 'mse',keep = TRUE) # runs the model
prediction<-predict(cv.lasso,s = cv.lasso$lambda.1se,
newx = as.matrix(batch1218.kegg[,-1]),type = 'class')
, где zx
просто двоичные столбцы присутствия / отсутствия гена, а zy
- столбец фенотипа. batch1218.kegg
- это новый набор данных генотипа c, который я хочу использовать для прогнозирования фенотипа. Мой прогноз выглядит примерно так:
1
1 6.438563
2 6.438563
3 6.438563
4 6.438563
5 6.438563
6 6.438563
Где все числа одинаковы для каждой строки. То же самое происходит и с другими фенотипами. Я думаю, что проблема может заключаться в том, что я работаю только с ~ 38 строками данных фенотипа c по сравнению с большим количеством переменных-предикторов. Но хотел посмотреть, может быть, есть еще одна проблема, с которой я сталкиваюсь.