Ich habe die folgende Funktion:Lauf logistisches Modell mapply in R mit
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)
}
wo x
enthält 5 Proben von Daten und y
ist mein abhängige Variable. Wenn ich versuche, mapply
zu verwenden ich die folgende Fehlermeldung erhalten:
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)
Aber, wenn ich das Modell renne wie folgt funktioniert:
lm1 = cv.glmnet(x=x[[1]],y=y,family="binomial",alpha=0)
Also gehe ich davon aus ich habe einige Probleme mit der Art, wie ich mich x
in meiner mapply
Funktion annähere.
Ihre Hilfe wird geschätzt.
Vielen Dank für Ihre Antwort .. aber aus irgendeinem Grund funktioniert es nicht .. Ich habe versucht, die Syntax zu verwenden, und ich bin das immer Folgefehler: _Error in glmnet (x, y, Gewichte = Gewichte, Offset = Offset, Lambda = Lambda,: Anzahl der Beobachtungen in y (5) ungleich der Anzahl der Zeilen von x (100000) _ (Ich habe es auch versucht "x = list (x)' stattdessen zu verwenden, und ich bekomme den folgenden Fehler: _Error in rep (1, N): ungültiges 'mal' argument_). Ich glaube, dass es irgendwie mit dem _indexing_ Teil verbunden ist. Zum Beispiel wenn ich es mit einer Schleife benutze, logM2 [[i]] = cv.glmnet (x = x [[i]], y = y [[i]], familie = "binomial", alpha = 0) 'Es funktioniert – staove7