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

R Discussion :

Faire une ANOVA à un facteur


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 26
    Points : 0
    Points
    0
    Par défaut Faire une ANOVA à un facteur
    Salut à tous,

    J'ai un souci avec R, comme toujours d'ailleurs tellement elle est compliquée à utiliser , j'aimerais faire un anova à un facteur sur un simple jeu de données , j'ai parcouru tout le web à la recherche d'une solution mais rien n'y fait. R a du souci à se faire si chercher une simple solution s'avère être aussi compliquée. L'aide fourni est en plus très technique et est fait pour les instruits, bref!!

    voila le jeu de données, j'aimerais faire une anova à 1 facteur sur celle-ci


    T S1 S2 S3
    3,97 4,19 6,03 3,92
    1,74 3,7 5,15 4,39
    3,5 4,45 4,58 5,74
    3,97 4,98 3,56 4,62
    4,15 4,86 6,23 5,48
    2,67 5,09 4,5 3,21
    4,91 3,2 4,66 6,74
    1,49 5,58 4,38 4,82
    2,63 4,17 4,36 3,64
    3,4 4,26 5,91 5,67
    2,89 3,09 4,26 6,3
    2,57 4,23 6,08 4,46

    Merci pour votre aide, sur excel/open office, j'ai fait l'anova mais sur R, c'est super galère!!

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Bonjour et bienvenue

    R n'a pas vraiment de soucis à se faire... En recherchant 10 sec sur internet, on peut trouver sans problème comment faire une anova avec R : http://pbil.univ-lyon1.fr/R/enseignement.html (en français en plus)

    De plus, inutile de donner vos données, vous êtes sur un forum d'entraide. On ne fait pas le travail à la place des autres

    Bon courage

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 26
    Points : 0
    Points
    0
    Par défaut SVP pas de post inutile
    SVP, ne postez pas des messages si vous ne savez pas ou possédez pas d'indices pour résoudre le problème. En plus , inutile de donner de la publicité pour ce lien d'ailleurs sur l'université de lyon 1 fort inutile.
    Ce genre de réponse complique la recherche des questions posées par des internautes sur des forums de discussion et retarde donc la résolution.
    Merci

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    C'est une plaisanterie ? Vous voulez tout de même pas que je vous donne la réponse à votre problème non plus ?

    Je vous ai donné un lien vers un site contenant des tutoriels sur R et les statistiques, dont l'un d'eux est spécifique à l'analyse de variance. Vous trouverez dedans les explications de l'anova et le code R.
    Et je viens de me souvenir que j'ai rédiger une grande partie de l'article anova sur wikipédia, avec du code R en prime. Le code tient en 3 lignes ! Vous avez du faire beaucoup de recherche avant...

    Si avec ça vous n'arrivez pas à résoudre votre problème, je vous donnerai le mail d'une équipe statistique qui pourra le faire à votre place (le coût ne devrait pas dépasser quelques centaines d'euros)

    Si vous voulez pas faire un minimum de recherche, je peux pas vous aider.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 26
    Points : 0
    Points
    0
    Par défaut
    Premièrement si c'était aussi facile de trouver cette information sur le net , je ne perdrai pas mon temps à venir sur ce forum et deuxièment l'article sur wikipedia, je l'ai déja consulté mais elle ne marche pas sur ces données la!! sur celui de wikipedia, a été crée un vecteur unique avec x = c(.....) et ensuite as.factor (..)
    mais elle ne marche pas avec ces données la.
    En conclusion, l'article sur wikipedia n'as pas d'application dans la vie réele car les données sont fournis avec un header et les données ensuite pas en vecteurs.
    Il y a pas quelqu'un d'autre sur ce forum qui ne me fera pas perdre mon temps?

  6. #6
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par audrey-m Voir le message
    R a du souci à se faire si chercher une simple solution s'avère être aussi compliquée
    Citation Envoyé par audrey-m Voir le message
    En conclusion, l'article sur wikipedia n'as pas d'application dans la vie réele car les données sont fournis avec un header et les données ensuite pas en vecteurs.
    Je ne voudrais pas remuer le couteau dans la plaie mais au vue de ces deux phrases, je pense qu'avant toute chose tu devrais lire quelques tutoriels de base sur l'utilisation du logiciel R.

    Pour info, tu peux simplement faire par exemple : (si j'ai bien compris ton premier soucis)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X<-read.table("mesdonnes.txt",header=TRUE,dec=",")
    XT<-as.vector(X$T)
    Bonne continuation,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 26
    Points : 0
    Points
    0
    Par défaut Pas de posts inutiles svp
    Les gens qui ne connaissent rien à l'anova sur R, svp pas de posts inutiles. C'est pour ca que ca devient de plus de plus compliqué de trouver des solutions sur les forums.

    Moi j'ai fait un truc du genre


    f = read.table('TP2anova.txt',h=T)

    values = as.vector(as.matrix(f)) # convertir en vecteur les valeurs de la matrice f
    infos = NULL
    for (i in 1:ncol(f)){ infos = c(infos, rep(colnames(f[i]),12)) } # dupliquer correspondance header et valeurs

    # affichage pr voir ce que ca donne
    values
    infos

    test = aov(values~infos)
    summary(test)

    et à partir de test, j'ai ca comme erreur.

    impossible de trouver la fonction "is"
    De plus : Messages d'avis :
    1: In storage.mode(v) <- "double" :
    NAs introduits lors de la conversion automatique
    2: In model.matrix.default(mt, mf, contrasts) :
    la variable 'values' est convertie en facteur
    3: In model.matrix.default(mt, mf, contrasts) :
    la variable 'infos' est convertie en facteur
    > summary(test)
    Erreur dans summary(test) : objet 'test' introuvable

  8. #8
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par audrey-m Voir le message
    Les gens qui ne connaissent rien à l'anova sur R, svp pas de posts inutiles. C'est pour ca que ca devient de plus de plus compliqué de trouver des solutions sur les forums.
    Permets-moi de te dire que je trouve ça très culotté de ta part d'écrire ce genre de phrase !

    Premièrement, lorsque l'on vient chercher de l'aide sur un forum, un minimum d'humilité ne ferait pas de mal.
    Deuxièmement, nous ne sommes pas là pour te donner les réponses toutes cuites, c'est à toi de faire l'effort de recherche.

    Enfin, la solution à ton problème se trouve dans mon précédent message, donc merci de ne pas me donner de notation "-1" lorsque tu ne sais pas de quoi tu parles.
    Pour ton information et que tu vois bien que j'ai raison : il faut que tu ajoutes dec="," lors de ton "read.table" sinon les valeurs de ton jeu de données sont considérées comme des chaines de caractères et non des flottants.

    Bonne continuation,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 26
    Points : 0
    Points
    0
    Par défaut dec =',' ne change rien
    J'ai déja essayé de mettre dec =',' dans le read.table mais cela ne change strictement rien..
    L'erreur c'est peut etre dans l'utilisation de aov ou dans la création des facteurs.

    Il n'y a pas un seul programmeur ou utilisateur R en France qui sait comment faire une anova à 1 facteur??
    on n'est vraiment mal baré

  10. #10
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par audrey-m Voir le message
    Il n'y a pas un seul programmeur ou utilisateur R en France qui sait comment faire une anova à 1 facteur??
    on n'est vraiment mal baré
    Entre nous, ici il n'y a que toi qui est mal barré

    J'ai repris le jeu de données tel que tu nous l'as fourni ainsi que ton code en ajoutant le dec="," dans le "read.table" et oh miracle, chez moi tout fonctionne bien !
    Il faudrait juste éventuellement ajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    infos<-as.factor(infos)
    avant de faire l'anova, mais R se charge de le transformer tout seul sinon, il indique juste un "warning".

    Sur ce, bonne continuation !

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  11. #11
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Il n'y a pas un seul programmeur ou utilisateur R en France qui sait comment faire une anova à 1 facteur??
    on n'est vraiment mal baré
    Si : F=5.111e-05

    pour le reste, débrouille toi tout seul

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 26
    Points : 0
    Points
    0
    Par défaut Résolu
    > summary(test)

    Le tableau d'analyse de la variance donne

    Df Sum Sq Mean Sq F value Pr(>F)
    infos 3 25.604 8.5346 9.6627 5.111e-05 ***
    Residuals 44 38.863 0.8833

    Conclusion: Rejet de H0

    C'est ce que j'avais trouvé avec Excel.
    Un petit merci à A.D qui m'a donné un indice mais le reste soit 95% du code, c'est moi qui l'avait écrit mais merci quand même

    Donc le code complet est le suivant

    f=read.table('TP2anova.txt',col.names=c('T','S1','S2','S3'),header=T,dec=',')



    values = as.vector(as.matrix(f)) # convertir en vecteur les valeurs de la matrice f
    infos = NULL
    for (i in 1:ncol(f)){ infos = c(infos, rep(colnames(f[i]),12)) } # dupliquer correspondance header et valeurs

    # affichage pr voir ce que ca donne
    values
    infos

    infos<-as.factor(infos)

    test = aov(values~infos)
    summary(test)


  13. #13
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par audrey-m Voir le message
    Un petit merci à A.D qui m'a donné un indice mais le reste soit 95% du code, c'est moi qui l'avait écrit mais merci quand même
    J'apprécie ton remerciement.
    Cela dit pour les prochaines fois où tu attendras une réponse, n'oublie pas deux choses :
    > Nous ne sommes pas là pour te balancer le code et point barre, tu avais toutes les pistes pour t'en sortir, et tu as finalement réussi en fournissant un petit effort de réflexion.
    > En général, lorsque l'on est poli, on obtient plus de réponses.

    Bonne continuation.

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  14. #14
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 74
    Points : 164
    Points
    164
    Par défaut
    Même si ce sujet est clos je voulais revenir sur :
    De plus, inutile de donner vos données, vous êtes sur un forum d'entraide. On ne fait pas le travail à la place des autres
    du modérateur.
    Je suis d'accord sur tous ce qui à été dit c'est vrai qu'il faut un minimum de politesse et savoir poser les questions.
    Mais je pense quand même que pour certaines questions liées à R, on a souvent besoin, pour aider certaines personne d'avoir un jeu de données (même s'il est factis...)

  15. #15
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Même si ce sujet est clos je voulais revenir sur :
    Citation:
    De plus, inutile de donner vos données, vous êtes sur un forum d'entraide. On ne fait pas le travail à la place des autres
    du modérateur.
    Je suis d'accord sur tous ce qui à été dit c'est vrai qu'il faut un minimum de politesse et savoir poser les questions.
    Mais je pense quand même que pour certaines questions liées à R, on a souvent besoin, pour aider certaines personne d'avoir un jeu de données (même s'il est factis...)
    Bonjour dickoa

    Bien sur que l'on a parfois besoin de fournir quelques données d'exemple. D'ailleurs, ici le problème venait effectivement d'un problème de format de données...
    Je réagissais surtout à la démarche "voilà mon problème, voilà mes données, quel est la réponse ?" (probablement qui si le ton du message avait été différent, j'aurais été plus pédagogique dans ma réponse... et avec le recul, il est vrai que j'aurais du être plus patient, compte tenu que audrey-m débute ici)

    PS : je n'intervenais pas en tant que modérateur mais en tant que simple utilisateur de R. Je suis modérateur que sur le forum Qt (et un peu C++). Mais effectivement, ça n'est pas précisé je crois.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2014, 14h23
  2. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  3. Réponses: 3
    Dernier message: 17/11/2009, 10h03
  4. Faire une liste de device??
    Par jackjack dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2003, 14h43
  5. [XSL]faire une balise dans une balise??? (ComboBox)
    Par rastoix dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/05/2003, 08h34

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