#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])
}))