Re: [Rd] Suggestion: barplot function

2017-02-03 Thread Robert Baer


On 1/27/2017 8:30 AM, danielren...@lycos.com wrote:

Hello developers folks!

First, congratulations for the wonderful work with R.

For science, barplots with error bars are very important. We were 
wondering that is so easy to use the boxplot function:


boxplot(Spores~treatment, col=treatment_colors)

But there is no such function for barplots with standard deviation or 
standard error. It becomes a "journey" to plot a simple graph (e.g. 
https://www.r-bloggers.com/building-barplots-with-error-bars/).


The same way that is easy to use the boxplot function, do you think it 
is possible to upgrade the barplot function: i.e.: 
barplot(Spores~treatment, error.bar=standard_error, col=treatment_colors)
Marc may not speak for R Core, but he certainly has summarized what has 
been an apparent consensus attitude to barplot() and confidence bars in 
this community over the last decade.  Further, he is probably right 
about no changes after this many years.


I might mention that if you want a close cousin to barplot() that does 
what you want with base graphics (from the drawing mechanics point of 
view) see the barplot2() function in the gplots package. You provide 
your own bar lengths.  Regardless of their merits, barplots are a common 
graphing mechanism used by my scientific colleagues to convey their 
data, and I don't see that changing any time soon.  The one thing that 
is even less forgivable than dynamite plots is bars with no dispersion 
indication at all. Too bad barplot2() isn't the default.







Thank you so much!
Daniel, FU-Berlin

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


--


--
Robert W. Baer, Ph.D.
Professor of Physiology
Kirksville College of Osteopathic Medicine
A T Still University of Health Sciences
800 W. Jefferson St
Kirksville, MO 63501
660-626-2321 Department
660-626-2965 FAX

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Suggestion: barplot function

2017-02-03 Thread Marc Schwartz

> On Feb 3, 2017, at 8:23 AM, Robert Baer  wrote:
> 
> 
> On 1/27/2017 8:30 AM, danielren...@lycos.com wrote:
>> Hello developers folks!
>> 
>> First, congratulations for the wonderful work with R.
>> 
>> For science, barplots with error bars are very important. We were wondering 
>> that is so easy to use the boxplot function:
>> 
>> boxplot(Spores~treatment, col=treatment_colors)
>> 
>> But there is no such function for barplots with standard deviation or 
>> standard error. It becomes a "journey" to plot a simple graph (e.g. 
>> https://www.r-bloggers.com/building-barplots-with-error-bars/).
>> 
>> The same way that is easy to use the boxplot function, do you think it is 
>> possible to upgrade the barplot function: i.e.: barplot(Spores~treatment, 
>> error.bar=standard_error, col=treatment_colors)
> Marc may not speak for R Core, but he certainly has summarized what has been 
> an apparent consensus attitude to barplot() and confidence bars in this 
> community over the last decade.  Further, he is probably right about no 
> changes after this many years.
> 
> I might mention that if you want a close cousin to barplot() that does what 
> you want with base graphics (from the drawing mechanics point of view) see 
> the barplot2() function in the gplots package. You provide your own bar 
> lengths.  Regardless of their merits, barplots are a common graphing 
> mechanism used by my scientific colleagues to convey their data, and I don't 
> see that changing any time soon.  The one thing that is even less forgivable 
> than dynamite plots is bars with no dispersion indication at all. Too bad 
> barplot2() isn't the default.


Hi,

Since Robert has kindly raised the barplot2() function, in the interest of full 
disclosure, as the original author of that function, my prior comments may seem 
contradictory.

I originally wrote the barplot2() function back in 2002 
(https://stat.ethz.ch/pipermail/r-devel/2002-September/025092.html 
), based 
upon my usage patterns at the time. It included the ability to use log scaled 
axes (later added to base R's barplot()), binomial confidence intervals and 
some other features, building directly on the default barplot() function code 
in base R for compatibility.

It was an early attempt back then, to give back to the community based upon 
some requests at the time. Greg Warnes was subsequently kind enough to offer to 
include it in the gplots package on CRAN.

That being said, because of the issues that I raised in my prior reply, which 
also reflect my own evolution in thinking in the many years since, I have not 
used the barplot2() function nor modified/updated the code in any way in well 
over 10 years. In fact, in general, I find that my clients in the clinical 
domains that I work in, have also come to see less value in their use, in 
deference to other presentation formats and I rarely use them in my analyses. 
As I noted in my prior reply, where I see them still commonly used tends to be 
for tabulations/counts for things like monthly/quarterly clinical trial 
enrollment trends, etc.

In either case, Robert rightly raises the point that, despite the criticisms, 
they are still widely used as change can be slow to manifest. Thus, there are 
options to create such plots where desired, using barplot2(), the ggplot2 
package and other functions in various CRAN packages. Or as I noted, if you 
don't want to install a package just for the sake of this one feature, it is 
easy to create them with a few function calls like segments() or arrows() over 
the default barplot.

Regards,

Marc


>> 
>> Thank you so much!
>> Daniel, FU-Berlin
>> 
>> __
>> R-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> -- 
> 
> 
> --
> Robert W. Baer, Ph.D.
> Professor of Physiology
> Kirksville College of Osteopathic Medicine
> A T Still University of Health Sciences
> 800 W. Jefferson St
> Kirksville, MO 63501
> 660-626-2321 Department
> 660-626-2965 FAX
> 
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel


[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel