Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

-20%
Le deal à ne pas rater :
-20% Récupérateur à eau mural 300 litres (Anthracite)
79 € 99 €
Voir le deal

Boucle de regression linéaire univarié

2 participants

Aller en bas

regression - Boucle de regression linéaire univarié  Empty Boucle de regression linéaire univarié

Message par gtoubonstras Mar 10 Déc 2019 - 15:48

Bonjour à tous,

Cela fait des jours que je bloque sur un problème qui me semble simple mais que je n'arrive pas à résoudre.

J'essaye de créer une boucle pour 13 modèles linéaires univariés (dfg en fonction de mes variables) pour que ma boucle effectue une régression linéaire entre dfg et mes autres variables.

mon codage :
var.quanti <- names(data[,sapply(data, is.numeric)])[-1]
param.matrix <- sapply(var.quanti, function(x) as.numeric(coef(lm(as.formula(paste0("dfg ~", x)), data=data))))
param<- data.frame(intercept=param.matrix[1,], pente=param.matrix[2,])

Réponse de R :
Error in param.matrix[1, ] : nombre de dimensions incorrect

Par ailleurs je dois extraire de mes régressions, mes coefficient, ma p value ainsi que l'IC à 95%

Etant donné que je n'arrive pas à faire ma boucle, j'essaye aussi en parallèle d'extraire chacun mes coefficient, ma p value ainsi que l'IC à 95% de chaque modèle linéaire en univarié afin de les mettre dans un data.frame.

Je sais pas si j'ai été assez clair en vous expliquant mon problème mais si quelqu'un pourrait m'aider cela serait vraiment génial.

Je vous remercie
Gaël

gtoubonstras

Nombre de messages : 1
Date d'inscription : 10/12/2019

Revenir en haut Aller en bas

regression - Boucle de regression linéaire univarié  Empty Re: Boucle de regression linéaire univarié

Message par droopy Mer 11 Déc 2019 - 10:28

Bonjour,

sans plus de détails c'est compliqué de t'aider. tu as vérifier la structure de param.matrix ?
Peut-être que le plus simple est d'abord de faire estimer tout tes modèles dans un lapply pour qu'ils soient stockés et ensuite d'extraire ce qui t'intéresse ?
Code:
mods <- lapply(var.quanti, function(x) lm(as.formula(paste0("dfg ~ ", x)), data= data))
t(sapply(mods, coef))
t(sapply(modes, confint))
# pour la p-value :
fun <- function(x) {
  s1 <- summary(x)
  f <- s1$fstatistic
  pv <- pf(f[1L], f[2L], f[3L], lower.tail = FALSE)
  pv
}
sapply(mods, fun)
cdlt
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum