Supprimer des données momentanément

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

E.H. [compte supprimé]
Messages : 76
Enregistré le : 08 Fév 2007, 15:10

Supprimer des données momentanément

Messagepar E.H. [compte supprimé] » 07 Mai 2007, 10:15

Bonjour tous,

Un autre petit soucis. Dans certaines analyses, selon les paramétres étudiés, j'ai deux individus qui me mettent le boxon dans les résultats des tests. (J'ai 4 groupes selon le type d'individu, n1=2, n2=18, n3=29, n4=16).

SI je test l'influence du du type d'individu sur mes réponses, je toruve un effet hautement significatif, qui n'est du sans doute qu'a ces deux individus foireux (ce que je peux ovir visuellement par des graphs simples)

Comment faire l'analyse de variance en enlevant ces deux individus, sans éditer la base (fichier .csv) ?

Merci

Elodie Sanchez
Messages : 13
Enregistré le : 29 Mar 2007, 15:41

Messagepar Elodie Sanchez » 07 Mai 2007, 11:07

Si vous savez à quelles lignes et quelles colonnes se trouvent les données bizarres, moi je dirais de les désigner dans les arguments en précédant d'un "moins" les n° de lignes et de colonnes.
Jsuis pas très claire.. donc par exple:
je peux toute ma colonne 4 de mon tableau tab sans la valeur de la ligne 12 :
tab[-12,4]
non??

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 07 Mai 2007, 11:17

Voir l'argument subset existant dans la plupart des fcts de modélisation. L'idée est que l'expression donnée dans subset soit évaluée sous forme d'un vecteur logique permettant de repérer les observations à conserver. Les deux utilisations suivantes sont équivalentes:

Code : Tout sélectionner

> x <- runif(10)
> y <- c(NA, NA, rnorm(8))
>
> lm(y ~ x, subset = !is.na(y))

Call:
lm(formula = y ~ x, subset = !is.na(y))

Coefficients:
(Intercept)            x 
    0.01192     -0.54534 

> lm(y ~ x, subset = -(1:2))

Call:
lm(formula = y ~ x, subset = -(1:2))

Coefficients:
(Intercept)            x 
    0.01192     -0.54534 

E.H. [compte supprimé]
Messages : 76
Enregistré le : 08 Fév 2007, 15:10

Messagepar E.H. [compte supprimé] » 07 Mai 2007, 11:25

Salut,

le probleme c'est que je ne sais pas à quelle ligne sous R les individus en question se trouvent.
En revanche, j'ai attribué un identifiant unique (id) à chaque individu et je connais les individus en question.

Mais je ne vois pas comment le mettre en place avec ce que ut me dit.

il faudrait donc que je puisse faire qqch de la sorte :

aov(Reponse~variable, data=table, exclure_les_individus = id=="79" & id=="112")

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 07 Mai 2007, 11:34

Emmanuel Henke a écrit :Salut,

le probleme c'est que je ne sais pas à quelle ligne sous R les individus en question se trouvent.
En revanche, j'ai attribué un identifiant unique (id) à chaque individu et je connais les individus en question.

Mais je ne vois pas comment le mettre en place avec ce que ut me dit.

il faudrait donc que je puisse faire qqch de la sorte :

aov(Reponse~variable, data=table, exclure_les_individus = id=="79" & id=="112")


donc:

Code : Tout sélectionner

aov(Reponse ~ variable,
      data = table,
      subset = id != "79" & id !="112")


ou avec une liste plus grande d'individus à exclure:

Code : Tout sélectionner

aov(Reponse ~ variable,
      data = table,
      subset = !is.element(c("79", "112"), id))

E.H. [compte supprimé]
Messages : 76
Enregistré le : 08 Fév 2007, 15:10

Messagepar E.H. [compte supprimé] » 07 Mai 2007, 11:38

Merci beaucoup!

-Résolu-


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Baptiste Carrere, Google [Bot] et 1 invité