IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tests d'hypothèse Discussion :

ANOVA à deux variables


Sujet :

Tests d'hypothèse

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Points : 33
    Points
    33
    Par défaut ANOVA à deux variables
    Bonjour !

    Je tente ma première ANOVA ! et j'ai déjà des ennuis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    data <- read.table("BDD\\BDD_2007-2012v2.txt", sep="\t", dec=".", header=T,row.names=1, na.strings="NA")
    data$lnEF1a_F<-log(data$EF1a_F)
    facqPCR<-as.factor(data$lnEF1a_F)
    facprec<-as.factor(data$V16)
    facqPCR
    facprec
    r<-aov(facqPCR~facprec, data=data)
    anova(r)
    à la dernière ligne de code, R me renvoi un message d'erreur : "Erreur dans if (ssr < 1e-10 * mss) warning("ANOVA F-tests on an essentially perfect fit are unreliable") :
    valeur manquante là où TRUE / FALSE est requis
    De plus : Message d'avis :
    In Ops.factor(object$residuals, 2) : ^ not meaningful for factors"

    Et je ne comprends pas pourquoi il n'est pas content ! Est ce que c'est parce que ma variable V16 est une variable qualitative ? si quelqu'un peut m'aider je suis preneuse de toutes hypothèses de solutions

    Merci

  2. #2
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Points : 254
    Points
    254
    Par défaut
    Bonjour,
    A premiere vu, votre problème ressemble plus à un problème d'analyse qu'à un problème avec R.
    C'est quoi l'objectif de votre teste ANOVA ?
    Je pense qu'il faudrait d'abord jetter un oeil sur la théorie des test ANOVA.
    Si c'est pour tester l'existence de liaisons significatives entre tes deux variables, tu devra plutôt effectuer un teste du KHI-2.

    BC

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    En effet un khi 2 serait plus judicieux ...
    je veux voir si il y a un effet de ma variable V16 sur ma variable lnEF1a_F..
    J'ai réécris le même script en remplaçant aov par chisq.test et j'ai un message d'erreur "Erreur dans chisq.test(facqPCR ~ facprec, data = data) :
    argument(s) inutilisé(s) (data = data)"

    Je ne comprends pas ...

    Mais il semblerait que j'oublie une étape : il faudrait d'abord que je teste la normalité ... je ne sais pas encore comment je vais faire mais je vous tiens au courant..

    Merci

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    le souci c'est que l'une de mes variables V16 est qualitative

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 35
    Points : 34
    Points
    34
    Par défaut
    Tu as testé ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chisq.test(data$facqPCR,data$facprec)

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    Oui, on me met "Erreur dans chisq.test(data$facqPCR, data$facprec) :
    au moins une valeur de 'x' doit être positive" ... normal, mon x est une valeur qualitative

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 35
    Points : 34
    Points
    34
    Par défaut
    Pourquoi tu veux rendre ta variable quanti en quali.
    pour calculer la liaison entre 2 variables il faut :
    • entre quanti et quanti = corrélation
    • entre quanti et quali = anova
    • entre quali et quali = khi 2

    ça ne répond pas à ta question mais peut être que cela peut t'aider.

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    eh bien ici c'est entre quali et une quanti donc il me faut une anova !
    dans ce cas on en revient à mon premier problème

  9. #9
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Points : 254
    Points
    254
    Par défaut
    Bonjour,
    Juste un petit conseil.
    Il ne faut JAMAIS effectuer une analyse ou un teste sous R sans savoir les arguments nécessaires et et les résultats auxquels, on devrait s'attendre !!!
    - Si vous souhaiter faire un teste ANOVA, je ne vois pas pourquoi vous transformer vos variables en facteurs. Ceci nécessite donc de revenir sur la théorie de l'ANOVA.
    - Est ce que la conditions d'effectuer ce teste sont réunis:
    1. Ta variable factorielle possède plus de trois modalités,
    2. Les variances de ta variable quantitative égales dans chaque échantillon
    => donc nécessite un teste d’égalité de variance, ce qui dépendant à son tour de plusieurs hypothèses:Si ta variable quantitative est normale: vous regarderez les testes paramétriques, sinon les testes non paramétriques.

    3. Est ce que ta variable quantitative est normale ou ton échantillon assez grand (supérieur à 30)

    BC

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par arm3366 Voir le message
    - Est ce que la conditions d'effectuer ce teste sont réunis:
    1. Ta variable factorielle possède plus de trois modalités,
    2. Les variances de ta variable quantitative égales dans chaque échantillon
    => donc nécessite un teste d’égalité de variance, ce qui dépendant à son tour de plusieurs hypothèses:Si ta variable quantitative est normale: vous regarderez les testes paramétriques, sinon les testes non paramétriques.

    3. Est ce que ta variable quantitative est normale ou ton échantillon assez grand (supérieur à 30)

    voilà je reviens donc avec un test de normalité de la variable que j'étudie (EF1a_F). voilà ce que j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > t<-data[ ,"EF1a_Fgraminearum"]
    > shapiro.test(t)
     
            Shapiro-Wilk normality test
     
    data:  t 
    W = 0.1804, p-value < 2.2e-16
    ma p-value est inférieure à 0,05 donc ma variable ne suit pas une loi normale, il faut donc que j'utilise des tests non paramétriques... et là je suis larguée.. je vais voir si il y a des cours sur internet

    j'ai vu que certains faisaient des Q-Q plot pour "vérifier" la normalité ... pour ma part si je lance "qqnorm(t)" R ne répond rien mais m'affiche un graphe je ne sais pas comment l'interpréter non plus ....

    Elle est longue la route jusqu'à l'analyse judicieuse de mon jeu de données

  11. #11
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Points : 254
    Points
    254
    Par défaut
    Citation Envoyé par Fnouch Voir le message
    Ma variable ne suit pas une loi normale, il faut donc que j'utilise des tests non paramétriques...
    Vous n'avez repondu qu'à une seule question: la normalité
    Avant de se lancer dans les testes non-paramétriques:
    • Combien de modalité possède ta variable factorielle?
    • Est ce la variance de ta variable quantitative est constante , i.e il n'y a pas de différence significative entre les variances de ta variable quantitative selon les échantillons ?

    1. Si On suppose que ta variable qualitative a deux modalités et ta variable quantitative n'est pas normale: tu fait dans ce cas un test de Wilcoxon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fonction R : wilcox.test()
    2. Si On suppose que ta variable qualitative a plus de deux modalités et ta variable quantitative n'est pas normale. Tu vérifie d'abord l'homoscedasticite de la variance de ta variable quantitative: Test non-paramétrique de Levenne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fonction R: levene.test()
    • Si à l'issu du test de Levenne, tu accepte H0 et n (nombre d'observation ) est assez grand (n>30), dans ce cas tu as carte blanche pour faire ton teste ANOVA
    • Sinon, tu fais un teste de Kruskal-Walis
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Fonction R kruskal.test()

  12. #12
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Points : 254
    Points
    254
    Par défaut
    Voici un lien http://eric.univ-lyon2.fr/~ricco/cou...ta_mining.html qui contient beaucoup de ressource en datamining (statistique).
    Sur les deux derniers cours, tu auras tous les infos sur les tests statistiques.

    BC

  13. #13
    Membre confirmé
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Points : 461
    Points
    461
    Par défaut
    Yop,

    Sinon l'erreur c'était parce que tu utilisais ton anova (ou chis2 après) en disant que tu travaillais sur le dataframe "data" alors que les variables utilisées n'étaient pas dedans.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    facqPCR<-as.factor(data$lnEF1a_F)
    facprec<-as.factor(data$V16)
    facqPCR et facprec ne sont pas dans data

    "Erreur dans chisq.test(facqPCR ~ facprec, data = data) :
    argument(s) inutilisé(s) (data = data)"
    D'où l'erreur.

Discussions similaires

  1. Permuter deux variables sans variable temporaire
    Par khayyam90 dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 09/01/2015, 08h02
  2. [STRUTS] Tag Equal, comparer deux variables
    Par logica dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/06/2004, 12h01
  3. enregistrer deux variable différente dans un seul champs
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 7
    Dernier message: 07/03/2004, 23h18
  4. Concaténer deux variables ?
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 19/12/2003, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo