[R] barplot help needed

Jacques VESLOT jacques.veslot at good.ibl.fr
Fri Nov 24 16:53:42 CET 2006


tab <- do.call(rbind, list(data1, data2, data3, data4))
etype <- do.call(rbind, list(sd1, sd2, sd3, sd4))
b <- barplot(tab, beside=T, ylim=c(0,max(tab+etype)))
arrows(as.vector(b), as.vector(tab) - as.vector(etype), as.vector(b),  as.vector(tab) + 
as.vector(etype), code=3)

unlist() is not correct - sorry - since all are matrices - not data frames !
so use as.vector()
-------------------------------------------------------------------
Jacques VESLOT

CNRS UMR 8090
I.B.L (2ème étage)
1 rue du Professeur Calmette
B.P. 245
59019 Lille Cedex

Tel : 33 (0)3.20.87.10.44
Fax : 33 (0)3.20.87.10.31

http://www-good.ibl.fr
-------------------------------------------------------------------


Antje a écrit :
> Still, there is one problem. The SD-Values don't fit to the bar they 
> belong to. I made the following experiment:
> 
>  > data1 <- c(2,4,6,2,5)
>  > data2 <- data1
>  > sd1 <- c(0.5,1,1.5,1,2)
>  > sd2 <- sd1
>  > tab <- do.call(rbind, list(data1, data2))
>  > etype <- c(sd1,sd2)
>  > b <- barplot(tab, beside=T)
>  > arrows(unlist(b), unlist(tab) - etype, unlist(b),  unlist(tab) + 
> etype, code=3)
> 
> I expect the bars with the same height and the same stddev. The height 
> is okay, but the stddev is messed up...
> 
> if I do it like this:
> 
> etype <- matrix(c(sd1,sd2), nrow=2, byrow=TRUE)
> 
> it works (but maybe there is an easier way...)
> 
> Antje
> 
> 
> 
> 
> Jacques VESLOT schrieb:
> 
>>thought sd1, sd2... were scalars but if not just do:
>>etype <- c(sd1, sd2, sd3, sd4)
>>-------------------------------------------------------------------
>>Jacques VESLOT
>>
>>CNRS UMR 8090
>>I.B.L (2ème étage)
>>1 rue du Professeur Calmette
>>B.P. 245
>>59019 Lille Cedex
>>
>>Tel : 33 (0)3.20.87.10.44
>>Fax : 33 (0)3.20.87.10.31
>>
>>http://www-good.ibl.fr
>>-------------------------------------------------------------------
>>
>>
>>Antje a écrit :
>>
>>>Thank you very much for your help.
>>>I just don't understand the following line (which also gives me a 
>>>dimension error later in the arrows command)
>>>
>>>etype <- rep(c(sd1, sd2, sd3, sd4), length(data1))
>>>
>>>Antje
>>>
>>>(I don't see my emails to the mailinglist anymore... just the answers 
>>>from other people... I don't understand???)
>>>
>>>
>>>Jacques VESLOT schrieb:
>>>
>>>
>>>>tab <- do.call(rbind, list(data1, data2, data3, data4))
>>>>etype <- rep(c(sd1, sd2, sd3, sd4), length(data1))
>>>>b <- barplot(tab, beside=T)
>>>>arrows(unlist(b), unlist(tab) - etype, unlist(b),  unlist(tab) + 
>>>>etype, code=3)
>>>>-------------------------------------------------------------------
>>>>Jacques VESLOT
>>>>
>>>>CNRS UMR 8090
>>>>I.B.L (2ème étage)
>>>>1 rue du Professeur Calmette
>>>>B.P. 245
>>>>59019 Lille Cedex
>>>>
>>>>Tel : 33 (0)3.20.87.10.44
>>>>Fax : 33 (0)3.20.87.10.31
>>>>
>>>>http://www-good.ibl.fr
>>>>-------------------------------------------------------------------
>>>>
>>>>Antje a écrit :
>>>>
>>>>
>>>>>hello,
>>>>>
>>>>>I would like to create the following barplot:
>>>>>
>>>>>I have 4 different data sets (same length + stddev for each data point)
>>>>>
>>>>>data1
>>>>>sd1
>>>>>data2
>>>>>sd2
>>>>>data3
>>>>>sd3
>>>>>data4
>>>>>sd4
>>>>>
>>>>>now, I'd like to plot in the following way:
>>>>>
>>>>>data1[1],data2[1],data3[1],data4[1] with it's sd-values side-by-side 
>>>>>at one x-axis label (named "position 1") and each bar in different 
>>>>>colors.
>>>>>
>>>>>data1[2],data2[2],data3[2],data4[2] at the next x-axis label (named 
>>>>>"position 2") with the same color scheme
>>>>>
>>>>>and so on over the whole length.
>>>>>
>>>>>I managed to plot one set in the following way:
>>>>>
>>>>>par(mai=c(1.5,1,1,0.6))
>>>>>plotInfo <- barplot(data1, las=2, ylim = c(0,plotMax+1), ylab = 
>>>>>"Percentage")
>>>>>arrows(plotInfo,data1,plotInfo,  data1 + sd1, length=0.1, angle=90)
>>>>>arrows(plotInfo,data1,plotInfo,  data1 - sd1, length=0.1, angle=90)
>>>>>
>>>>>could anybody give me a help on this?
>>>>>
>>>>>Antje
>>>>>
>>>>>______________________________________________
>>>>>R-help at stat.math.ethz.ch mailing list
>>>>>https://stat.ethz.ch/mailman/listinfo/r-help
>>>>>PLEASE do read the posting guide 
>>>>>http://www.R-project.org/posting-guide.html
>>>>>and provide commented, minimal, self-contained, reproducible code.
>>>>>
>>>>
>>>______________________________________________
>>>R-help at stat.math.ethz.ch mailing list
>>>https://stat.ethz.ch/mailman/listinfo/r-help
>>>PLEASE do read the posting guide 
>>>http://www.R-project.org/posting-guide.html
>>>and provide commented, minimal, self-contained, reproducible code.
>>>
>>
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list