[R] hist{graphics}
Martin Maechler
m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Mon Jul 15 12:07:46 CEST 2019
>>>>> Duncan Murdoch
>>>>> on Sat, 13 Jul 2019 05:29:18 -0400 writes:
> On 12/07/2019 11:38 a.m., Steven wrote:
>> Never mind. Thanks.
>>
>> I found that adding parameter right=F to the call fixes it.
> Drawing a histogram of discrete data often leads to bad results.
> Histograms are intended for continuous data, where no observations fall
> on bin boundaries.
> You often get a more faithful representation of discrete data using
> something like
> plot(table(x))
> Duncan Murdoch
yes!!
including plot(<factor>)
[ if you really want, you can add something like 'lwd = 4' there ]
And relatedly, possibly more generally:
Many many people and hence useRs do
*NOT* distinguish between what R (and I think statistical graphics more
generally) calls *histograms* on one side vs
*bar plots* / *bar charts* / "spear charts"(?) etc on the other.
As Duncan said: Visually distinguishing quantities that are
inherently (mostly/almost) continuous ["mostly/..": think of quantum physics]
from those that are inherently "integer-like" or categorical.
We (the R user community, notably the graphically oriented
subset) should really strive to keep these concepts and the
corresponding visualizations separate as well as possible
[and educate the consumers of our graphics if necessary ..]
Martin Maechler
ETH Zurich and R Core Team
>> On 2019/7/12 下午 05:10, Steven wrote:
>>> # Can someone help with this simple frequency histogram problem (n = 15)?
>>> # I use four class limits: [90,95], [95,100], [100,105], [105,110].
>>> # These coincide with the limits obtain by pretty {base}.
>>> # Proper frequencies would be: (1,5,6,3).
>>> # But hist{graphics} gives me a histogram showing frequencies (1,8,3,3),
>>> # with or without argument break = ...
>>> # Replicable codes below. Thanks.
>>>
>>> set.seed(123)
>>> x<-rnorm(15,mean=100,sd=5); x<-as.integer(x)
>>> x<-sort(x)
>>> x
>>> breaks<-seq(90,110,by=5); breaks
>>> pretty(x,n=5) # pretty {base}
>>> x.cut<-cut(x,breaks,right=F) ; x.cut
>>> freq<-table(x.cut); cbind(freq)
>>> hist(x,breaks=breaks) # hist {graphics}
>>> hist(x)
>>>
>>>
>>>
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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 using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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