Les posteurs les plus actifs de la semaine
Eric Wajnberg
 
c@ssoulet
 
cmoi
 
louiv
 
laureG
 
Glaboune
 
Nik
 


??? Suppression de ligne dans une régression ???

Aller en bas

??? Suppression de ligne dans une régression ???

Message par kuzco le Mar 24 Mai 2016 - 16:12

Bonjour à tous,

Je fais une analyse de regression. Je tape outlierTest(model1) et cela me donne une correction de Bonferroni.
Tout va bien sauf qu'il m'indique que je dois supprimer une ligne (ici la 5) car elle fausse ma régression.
Quelle est la syntaxe à faire pour retirer ce participant UNIQUEMENT lors de la régression svp ?

Merci !

kuzco

Nombre de messages : 7
Date d'inscription : 18/05/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: ??? Suppression de ligne dans une régression ???

Message par Florent Aubry le Mer 25 Mai 2016 - 10:27

Si donnees est le data.frame et que tu veux retirer la cinquième ligne, il suffit d'écrire :
Code:
donnees[-5,]

Dans R, le signe moins devant un indice numérique ou un vecteur d'indices numériques signifie 'retirer les données correspondant à ces indices'

Florent Aubry

Nombre de messages : 184
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: ??? Suppression de ligne dans une régression ???

Message par kuzco le Mer 25 Mai 2016 - 11:36

Oui mais si je fais cela, ca va ma retirer mon sujet 5 définitivement non ? Parce que ce sujet pose soucis juste dans ma régression en fait
J'ai trouvé ca comme commande :
model1<-model1[-c(5),]
Mais elle m'indique : Error in model1[-c(5), ] : incorrect number of dimensions

Qu'en penses-tu ?

kuzco

Nombre de messages : 7
Date d'inscription : 18/05/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: ??? Suppression de ligne dans une régression ???

Message par droopy le Mer 25 Mai 2016 - 11:46

Bonjour,

la plupart des fonctions comme lm intègrent un argument subset qui permet de ne pas prendre en compte certaines valeurs, lignes, sans pour autant les supprimer du data.frame de départ.

Code:
tab <- data.frame(x = rnorm(100), y = rnorm(100))
lm1 <- lm(y ~x, data = tab, subset = !((1:nrow(tab)%in%5)) )
cdlt
avatar
droopy

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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: ??? Suppression de ligne dans une régression ???

Message par Florent Aubry le Mer 25 Mai 2016 - 12:43

Code:
lm(y ~x, data = tab[-5,])
si c'est la cinquième ligne a ne pas analyser mais cela ne touche pas tab. Il faudrait écrire :
Code:
tab <- tab[-5,]
pour supprimer définitivement la 5ème ligne de tab.

Tu peux aussi écrire :
Code:
model1 <- update( model1, data=donnees[-5,])

outlierTest prend comme argument le modèle estimé, c'est-à-dire la sortie de lm et non les données. Si model1 est la sortie de lm, tu retires le cinquième membre de l'objet résultat et outlierTest n'a plus la bonne entrée, d'où le message d'erreur.

Florent Aubry

Nombre de messages : 184
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: ??? Suppression de ligne dans une régression ???

Message par kuzco le Mer 25 Mai 2016 - 13:04

D'accord ! Ca a marché !
Merci beaucoup pour vos conseils !

kuzco

Nombre de messages : 7
Date d'inscription : 18/05/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: ??? Suppression de ligne dans une régression ???

Message par Contenu sponsorisé


Contenu sponsorisé


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