У меня есть список моделей и вы хотите вернуть массив (а не список) их коэффициентов. (Для любопытных, я бег одну модели на данных из кучи разных нейронов Я хотел бы массив из коэффициентов X нейроны.). Следующий работает отлично, если все модели работают успешно:Использование sapply (,, simplify = TRUE)
Coefs = sapply(ModelList, coef)
Но если одна из моделей выходит из строя, то coef() возвращает «NULL», которая отличается от других возвращаемых значений, и я получаю список вместо массива. :(
Мое решение работает и общее назначение, но ужасно неуклюжий:
Coefs = sapply(ModelList, coef)
typical = Coefs[[1]] # (ought to ensure that this is not NULL!)
typical[1:length(typical)] = NA # Replace all coefficients with NA
Bad = sapply(ModelList, is.null) # Find the bad entries
for (i in which(Bad)) # For each 'NULL', (UGH! A LOOP!)
Coefs[[i]] = typical # replace with a proper entry (of NAs)
Coefs = simplify2array(Coefs) # Now I can convert it to an array
Есть ли лучшее решение
Благодаря
Larry