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

Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

Boucle de regression linéaire univarié

2 participants

Aller en bas

linéaire - 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

linéaire - 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