0
我在下面的函數使用mapply Logistic模型:運行中的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 in glmnet(x,y,weights = weights,offset = offset,lambda = lambda,: y中的觀測值數量(5)不等於x的行數(100000)_(我也嘗試過使用'x = list(x)'代替,並且我得到以下錯誤:rep(1,N)中的_Error:無效的'times'argument_)。我相信它以某種方式連接到_indexing_部分。例如,當我使用循環運行時,logM2 [[i]] = cv.glmnet(x = x [[i]],y = y [[i]],family =「二項式」,alpha = 0) '它的工作 – staove7