Я имею следующие функции:Запуск логистической модели с использованием mapply в R
logModels <- function(data_idx_list,data)
{
x <- lapply(data_idx_list, function(m)
sparse.model.matrix(~.,data = data[m,]))
y <- lapply(data_idx_list, function(m) data$earlyR[m])
logM <- mapply(function(x,y) {
cv.glmnet(x=x,y=y,family="binomial",alpha=0)
}, x,y)
return(logM)
}
где x
содержит 5 образцов данных, и y
моя зависимой переменной. Когда я пытаюсь использовать mapply
Я получаю следующее сообщение об ошибке:
Error in glmnet(x, y, weights = weights, offset = offset, lambda = lambda, : number of observations in y (1) not equal to the number of rows of x (100000)
Но, когда я бегу модель следующим образом она работает:
lm1 = cv.glmnet(x=x[[1]],y=y,family="binomial",alpha=0)
Таким образом, я предполагаю, что у меня есть некоторые проблемы с тем, как я приближаюсь x
в моей mapply
функции.
Ваша помощь будет оценена по достоинству.
Благодарим за ваш ответ .. но, по какой-то причине он не работает .. Я пытался использовать свой синтаксис, и я получаю следующая ошибка: _Error в glmnet (x, y, weight = weight, offset = offset, lambda = lambda,: Число наблюдений в y (5), не равное количеству строк x (100000) _ (Я также попытался вместо этого использовать 'x = list (x)', и я получаю следующую ошибку: _Error в rep (1, N): недопустимый аргумент «times»). Я считаю, что он каким-то образом связан с частью _indexing_.Например, когда я запускаю его с помощью цикла, 'logM2 [[i]] = cv.glmnet (x = x [[i]], y = y [[i]], family =" binomial ", alpha = 0) 'это работает – staove7