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 :

Régression linéaire sur deux nuages de points distincts


Sujet :

R

  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 Régression linéaire sur deux nuages de points distincts
    Bonjour à tous,

    je cherche à rajouter deux régressions linéaires sur un plot où figure deux nuages de points différents.

    je pensais à la fonction lines() ou abline() mais je ne sais pas laquelle est la meilleure (je crois que lines permet de faire plusieurs droites alors que ce n'est pas le cas de abline)
    je voulais me baser sur les coefficients qui m'interessent. Seulement lorsque j'essaye avec lines ou abline aucune droites ne sort

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    > champi.lm<-lm(data$lnV70~data$lnEF1a_Fgraminearum+data$LABO)
    > coef(champi.lm)
                 (Intercept) data$lnEF1a_Fgraminearum           data$LABOMYCSA 
                   6.1084405                0.6968371                3.9022808 
    > plot(lnV70~lnEF1a_Fgraminearum, data)
    si vous avez des suggestions...

    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,
    Comment tu utilises les fonctions abline() ou lines() ? mets ton code si possible.

  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
    J'ai essayé plusieurs choses avec lines

    En essayant de reprendre des points de ma courbe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    plot(lnV70~lnEF1a_Fgraminearum,
      main="Corrélation entre la présence en Fusarium graminearum et la teneur en DON", 
      xlab = "Présence de Fusarium graminearum (lnEF1a-Fgraminearum)", ylab = "Teneur en DON (lnV70)", col=as.factor(data$LABO), data=data)
    lines(x=-6.333561222, y=3.610917913, col="red")
    ou en essayant juste avec une pente (ici celle de data$LABOMYCSA) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    plot(lnV70~lnEF1a_Fgraminearum,
      main="Corrélation entre la présence en Fusarium graminearum et la teneur en DON", 
      xlab = "Présence de Fusarium graminearum (lnEF1a-Fgraminearum)", ylab = "Teneur en DON (lnV70)", col=as.factor(data$LABO), data=data)
    lines(3.9022808, col="red")
    je n'ai pas de message d'erreur mais rien ne s'affiche sur mon plot...

  4. #4
    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
    Bonjour,

    La fonction "lines" permet, comme son nom l'indique, de tracer une ligne/droite sur un graphe. Pour cela, il faut donc avoir, au minimum, deux points à relier l'un à l'autre. Il faut donc passer en paramètres de la fonction "lines", les coordonnées de deux points, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    plot( ... )
     
    lines( x=c(1.2,3.5), y=c(5.2,1.3) )

    Bonne continuation !


    Cordialement,


    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.

  5. #5
    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
    Merci !

    mais je me rends compte que la fonction lines() va être compliqué pour ce que je vais faire
    il vaut mieux que j'utilise abline où je mets directement le coefficient de ma régression, comme ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    plot(lnV70~lnEF1a_Fgraminearum,
      main="Corrélation entre la présence en Fusarium graminearum et la teneur en DON", 
      xlab = "Présence de Fusarium graminearum (lnEF1a-Fgraminearum)", ylab = "Teneur en DON (lnV70)", col=as.factor(data$LABO), data=data)
    abline(a=coef(champi.lm)[1], b=coef(champi.lm)[2])
    j'obtiens une droite de régression pour un de mes nuages de points mais je n'arrive pas à en faire plusieurs

  6. #6
    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,
    Est ce que tu as essayé quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    plot(Y~X, main="Scatterplot",  ylab= "Y.nom",xlab="X.nom")
    abline(lm(Y~X), col="blue")
    Et partir de la, tu pourra ajouter autant de "abline " que tu souhaite.
    A defaut d'un jeu de données et les erreurs obtenus, ça sera toujours plus difficile d'y voir plus clair.

  7. #7
    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
    Ça y est ! j'ai trouvé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    plot(lnV70~lnEF1a_Fgraminearum, data)
     
    abline(a=coef(champi.lm)[1], b=coef(champi.lm)[2])
    abline(a=coef(champi.lm)[1] + coef(champi.lm)[3] ,b=coef(champi.lm)[2],col="red")
    Je reprends entre crochet les coefficients de ma régression champi.lm ([1] pour l'intercept, [2] pour data$lnEF1a_Fgraminearum et [3]data$LABOMYCSA)

    En espérant que ça puisse aider quelqu'un

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. la pente par régression linéaire sur N points
    Par idoune dans le forum MATLAB
    Réponses: 5
    Dernier message: 28/04/2014, 09h08
  2. Une contrainte sur 2 nuages de points
    Par Nemerle dans le forum Algorithmes et structures de données
    Réponses: 37
    Dernier message: 02/09/2008, 02h04
  3. [scatter] Superposition de deux nuages de points
    Par momo032114 dans le forum MATLAB
    Réponses: 3
    Dernier message: 01/08/2008, 11h56
  4. Changer la taille et la forme d'un point sur un nuage de points
    Par onejock dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2008, 14h47
  5. Appliquer une image 2D sur un nuage de points
    Par eleon_ dans le forum MATLAB
    Réponses: 6
    Dernier message: 18/04/2008, 12h47

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