Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
KTC Écran PC Gaming 24″ (1920 x 1080) 100Hz, dalle VA à 67,39
67.39 €
Voir le deal

Tracer des "error bar" sur une courbe

3 participants

Aller en bas

Tracer des "error bar" sur une courbe Empty Tracer des "error bar" sur une courbe

Message par Komine Ven 2 Juil 2010 - 12:43

Bonjour,
J’ai tracé une courbe X~y suivant cette syntaxe:
Code:
plot(tab[c(1:6),]$EWT~(tab[c(1:6),]$Date),xlab="Octobre 2009",ylab="Teneur en eau EWT(g/m2)",pch=8,bty="L")
lines(tab[c(1:6),]$EWT~(tab[c(1:6),]$Date))
Maintenant je veux ajouter les ecart-types sous forme de "error bar" sur cette courbe. Cependant, je n’ai aucune idée sur comment on le fait.
j'ai trouvé la syntaxe qui est dans le cadre des barplot mais j'ai du mal à l'appliquer dans le cadre d'une courbe.
Code:
 superpose.eb <-
function (x, y, ebl, ebu = ebl, length = 0.08, ...)
    arrows(x, y + ebu, x, y - ebl, angle = 90, code = 3,
    length = length, ...)
    RT = matrix(c(814, 967, 500, 574, 424, 472, 394, 446), 2, 4) # data
colnames(RT) = c("7", "11", "15", "21")
rownames(RT) = c("repetition", "alternation")
eblb = matrix(c(14,21,12,18,12,18,13,19),2,4) # 1.96 * s.d. of data

x.abscis <- barplot(RT, beside=TRUE, col=0:1, ylim=c(0,1200),
    main="RT as a function of Age with 95%-confidance bars",
    xlab="Age (yrs)")
superpose.eb(x.abscis, RT, eblb, col="orange", lwd=2)
Merci de m'aider sur la syntaxe pour tracer des "error bar" sur une courbe.

Merci d'avance.

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par droopy Ven 2 Juil 2010 - 12:56

D'abord tu recherches a représenter quoi au juste ? L'intervalle de confiance autour d'une régression linéaire ? un intervalle de prédiction ou tout a fait autre chose ?

Parce que comme ça l'error barre ce n'est pas très parlant.
droopy
droopy

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

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par Komine Ven 2 Juil 2010 - 13:09

Merci de votre réponse,
Je cherche à réprésenter la dispersion autour de mes moyennes constituées par les différents points de ma courbe.
veuillez utiliser la syntaxe de la barplot que j'ai mis dans mon message, ça donne un éclairage sur ma préoccupation sauf que moi j'ai pas des barres mais une courbe.
Merci encore

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par droopy Ven 2 Juil 2010 - 15:19

Pourquoi ne pas reprendre la fonction que tu as programmée ?
Code:

matplot(c(7,11,15,21), t(RT), type=rep("b",2), lty=1, col=c("black", "grey"), pch=19)
superpose.eb(c(7,11,15,21), RT[1,],eblb, col="orange", lwd=2)

tu peux aussi regarder du coté de la fonction errbar du package Hmisc
droopy
droopy

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

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par Komine Sam 3 Juil 2010 - 14:03

Bonjour,
veuillez m'indiquer comment inserer un graphique sur un message pour que je puisse montrer le résultat que j'ai obtenu après les conseils de droopy. c'est pour repréciser ma question. j'ai cliqué sur insérer une image puis j'ai mis dans l'invite script:
Code:
C:\Users\Momadou\Desktop\TEST R\Courbe.JPEG
Mais le graphique ne s'affiche pas.
Merci beaucoup

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par Nik Dim 4 Juil 2010 - 9:27

C'est normal : en phpBB l'image doit être hébergée sur un site en ligne pas sur un disque local. Il y a des sites qui font de l'hébergement d'image gratos. Une fois l'image en ligne, on insère le lien vers l'image avec les balises phpBB proposée quand on poste un message

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par Komine Dim 4 Juil 2010 - 10:31

Bonjour,
Après plusieurs tentatives infructueuses malgré vos coup de pousse, je n'évolue pas bien pour tracer mon graphique.
je rééxplique pour mieux vous guider dans vos conseils. J'ai tracé un graphique X,Y avec une courbe en ligne. Cette courbe retrace des moyennes. Mon Directeur de stage me demande de tracer des segments sous forme de "error bar" dont les valeurs seront les écart-types. L'objectif est de voir sur le graphique la distribution autour des moyennes. Pour tracer la courbe (X,Y), j'ai utilisé ce code:
Code:
plot(tab[c(1:6),]$FMC~(tab[c(1:6),]$Date),xlab="Octobre 2009",ylab="Teneur en eau FMC",pch=8,bty="L")
lines(tab[c(1:6),]$FMC~(tab[c(1:6),]$Date))
Je suis bloqué pour faire les segments constitués par les écart types.
Votre aide est la bienvenue

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par droopy Lun 5 Juil 2010 - 7:54

déjà les deux lignes sont inutiles :
Code:
plot(tab[c(1:6),]$FMC~(tab[c(1:6),]$Date),xlab="Octobre
2009",ylab="Teneur en eau FMC",pch=8,bty="L", type="b")

Ensuite excuse mais je vois toujours pas ou est ton problème. Tu vas sur http://imageshack.us/ par exemple tu uploads ton image tu récupère le lien de ton image et tu le colles dans le champ après avoir cliquer sur insérer une image.

Code:
tab <- data.frame(FMC=rnorm(6), Date= seq(ISOdate(2010,1,1), ISOdate(2010,6,1), by="month"), ec=abs(rnorm(6)))
ylims <- c(min(tab$FMC-tab$ec),max(tab$FMC+tab$ec))
with(tab, plot(FMC[1:6]~Date[1:6], type="b", ylim=ylims))
require(Hmisc)
with(tab, errbar(Date[1:6], FMC[1:6], FMC[1:6]+ec[1:6], FMC[1:6]-ec[1:6], add=TRUE, ylab="", xlab=""))
droopy
droopy

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

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par Komine Lun 5 Juil 2010 - 23:07

Bonjour à tous et Merci Droopy pour vos réponses.
Pour faciliter la compréhension de tous sur ma question, je suis arrivé à faire une syntaxe assez simple qui donne à peu près ce que je veux faire. Quand j’ai mis le code suivant sur R il marche bien.
Code:
jours<-c(1:6)
moy <- c(2,4,6,8,10,12)
#sd
plot(moy~jours)
lines(c(1,1),c(2+sd(c(2,3,2.5,3.5,2.1)),2-sd(c(2,3,2.5,3.5,2.1))),col="blue")
Cependant, quand j’ai réutilisé ce code en remplaçant par mes propres données, le graphique du plot sort mais quant j’introduis la dernière ligne de commande (voir code précédent) qui l’objet de mon traitement, il ne se rien, pas de message d’erreur, pas de “error bar” symbolisant mes écart-type, rien.
Code utilisé :
Code:
plot(tab[c(1:6),]$FMC~(tab[c(1:6),]$Date),xlab="Octobre 2009",ylab="Teneur en eau FMC",pch=8,bty="L")
lines(c(1,1),c(tab[c(1),]$FMC+sd(c(tab[c(1),]$Ecart.type)),tab[c(1),]$FMC- sd(c(tab[c(1),]$Ecart.type))), col="red")
Où se trouverait le problème vu que je n’ai fait que remplacer les variables par rapport au premier code « test » cité plut haut et qui marche ?
Merci d’avance

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par droopy Mar 6 Juil 2010 - 7:15

je crois qu'il est nécessaire que tu lises des docs de "base" sur le logiciel et son fonctionnement ainsi que l'aide des fonctions.

Si tu fais ?lines tu verras que le premier argument de ta fonction est :
x, y coordinate vectors of points to join.
Donc avec ton code tu as cherché à mettre une ligne à une abcisse de 1 ! Donc si tes données ne comprennent pas la valeur 1 à ce moment la droite n'apparaitra pas sur le graphique.

Après je vais être franc avec toi, ça devient vraiment embêtant de te répondre, on te propose des codes et hop le post d'après tu nous sors un autre code sans qu'on sache si tu as testé notre code, ce qui va ou ne va pas dans ce qu'on t'a proposé.

Regarde aussi du côté de la fonction segments.
segments(1,2-sd(c(2,3,2.5,3.5,2.1)), 1, 2+sd(c(2,3,2.5,3.5,2.1)),col="red")

# avec ton premier exemple :
segments(1:6, seq(2,12,le=6)-0.63, 1:6, seq(2,12,le=6)+0.63, col="red")

# si dans ec tu as stocké les écart types associés à tes 6 valeurs :
segments(tab$Date[1:6], tab$FMC[1:6]-ec, tab$Date[1:6], tab$FMC[1:6]+ec, col="red")
droopy
droopy

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

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par Komine Dim 11 Juil 2010 - 11:43

Bonjour droopy,
Je vous remercie pour vos réponses. J’ai pu tracer mes écart-types, il y’avait comme vous l’avez dit un problème sur l’abscisse car mes données ne commencent pas par 1 mais 21.
Toutefois, je suis obligé d’apporter des précisions. Je prends le forum comme mon dernier recours et j’ai essayé toutes les propositions qui m’ont été faites et sans succès. Mon erreur se trouve sur le fait que je n’ai pas fait le retour.
Tu n’as pas à être embêté par mes questions qui ne vous sont pas posé directement, j’ai eu à commencer mes messages par votre nom pour la simple raison que je tiens toujours à remercier ceux qui me répondent. Il ne s’agit aucunement une interpellation directe.
Merci

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par droopy Lun 12 Juil 2010 - 7:24

En fait ce que j'ai voulu dire par la, c'est qu'on te propose un code pour résoudre ton problème en fonction des indications que tu nous donnes. Ensuite tu reviens tu nous dis que tu n'arrives toujours pas à faire ce que tu veux et tu nous donnes un autre code sans dire ce qui n'avait pas marché dans celui qu'on t'avait donné. Au final on se dit et quand je dis on c'est en fait moi, tiens il a pas utilisé notre code alors que ça avait l'air de correspondre avec ce qu'il attendait. Au final c'est frustrant pour la personne qui répond, parce qu'on croit que tu ne tiens pas compte de ce que l'on te dit. On finit par ne plus avoir envie de t'aider. J'espère t'avoir mieux exposé mon état d'esprit.

C'est tout a ton honneur de "tout" expérimenter avant de poster. Et moi si je te réponds c'est parce que je pense que mes connaissances de ce logiciel te permettront de te dépatouiller de ton problème.
droopy
droopy

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

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

Message par Komine Lun 12 Juil 2010 - 11:08

Bonjour Droopy,
Je comprends positivement votre état d'esprit.
Merci encore.

Komine

Nombre de messages : 78
Date d'inscription : 02/06/2010

Revenir en haut Aller en bas

Tracer des "error bar" sur une courbe Empty Re: Tracer des "error bar" sur une courbe

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