Извлечение коэффициентов и значений p_ для различных моделей 1-факторной логистической регрессии в R

#r #loops #vector #logistic-regression #glm

Вопрос:

У меня есть 7 моделей логистической регрессии с 1 фактором, которые я установил с помощью GLM (хранятся в model1 — model7). Для каждой модели я хочу извлечь их коэффициент и сохранить в векторе «коэффициенты», а также значение p, которое будет сохранено в векторе «p-значения». Я попытался использовать циклы в R, но я получаю следующую ошибку- Error: $ operator is invalid for atomic vectors . Как я могу зациклить это, чтобы получить векторы, имеющие коэффициенты и p-значения для каждой модели? Вот мой код-

 
coeffs<-c()
p_values<-c()

for (x in c(model1,model2,model3,model4,model5,model6,model7)) {
  coeffs <- summary(x)$coefficients[2,1]
  p_values <- summary(x)$coefficients[2,4]
  
  
}

 

Ответ №1:

Поместите модели в список и используйте sapply / lapply для извлечения значений.

 model_list <- list(model1,model2,model3,model4,model5,model6,model7)

t(sapply(model_list, function(x) {
  tmp <- summary(x)
  c(coeffs = tmp$coefficients[2,1], p_values = tmp$coefficients[2,4])
}))