Plots a log-histogram, as in for example Feiller, Flenley and Olbricht (1992).
The intended use of the log-histogram is to examine the fit of a particular density to a set of data, as an alternative to a histogram with a density curve. For this reason, only the log-density histogram is implemented, and it is not possible to obtain a log-frequency histogram.
The log-histogram can be plotted with histogram-like dashed vertical bars, or as points marking the tops of the log-histogram bars, or with both bars and points.
logHist(x, breaks = "Sturges",
include.lowest = TRUE, right = TRUE,
main = paste("Log-Histogram of", xName),
xlim = range(breaks), ylim = NULL, xlab = xName,
ylab = "Log-density", nclass = NULL, htype = "b", ...)
Returns a list with components:
The \(n+1\) cell boundaries (= breaks
if that
was a vector).
\(n\) integers; for each cell, the number of
x[]
inside.
Log of \(\hat f(x_i)\), which are estimated density values.
If all(diff(breaks) == 1)
, estimated density values are the
relative frequencies counts/n
and in general satisfy
\(\sum_i \hat f(x_i) (b_{i+1}-b_i) = 1\), where \(b_i\) = breaks[i]
.
The \(n\) cell midpoints.
A character string with the actual x
argument name.
The location of the tops of the vertical segments used in drawing the log-histogram.
The value of ylim
calculated by logHist
.
A vector of values for which the log-histogram is desired.
One of:
a vector giving the breakpoints between log-histogram cells;
a single number giving the number of cells for the log-histogram;
a character string naming an algorithm to compute the number of cells (see Details);
a function to compute the number of cells.
In the last three cases the number is a suggestion only.
Logical. If TRUE
,
an `x[i]' equal to the `breaks' value will be included in the first
(or last, for right = FALSE
) bar.
Logical. If TRUE
, the log-histograms cells are
right-closed (left open) intervals.
These arguments to title
have useful
defaults here.
Sensible default for the range of x values.
Calculated by logHist
, see Details.
Numeric (integer). For compatibility with hist
only,
nclass
is equivalent to breaks
for a scalar or
character argument.
Type of histogram. Possible types are:
'"h"' for a *h*istogram only;
'"p"' for *p*oints marking the top of the histogram bars only;
'"b"' for *b*oth.
Further graphical parameters for calls
to plot
and points
.
David Scott d.scott@auckland.ac.nz, Richard Trendall, Thomas Tran
Uses hist.default
to determine the cells or classes and
calculate counts.
To calculate ylim
the following procedure is used. The upper
end of the range is given by the maximum value of the log-density,
plus 25% of the absolute value of the maximum. The lower end of the
range is given by the smallest (finite) value of the log-density, less
25% of the difference between the largest and smallest (finite) values
of the log-density.
A log-histogram in the form used by Feiller, Flenley and Olbricht (1992) is plotted. See also Barndorff-Nielsen (1977) for use of log-histograms.
Barndorff-Nielsen, O. (1977) Exponentially decreasing distributions for the logarithm of particle size, Proc. Roy. Soc. Lond., A353, 401--419.
Barndorff-Nielsen, O. and Blæsild, P (1983). Hyperbolic distributions. In Encyclopedia of Statistical Sciences, eds., Johnson, N. L., Kotz, S. and Read, C. B., Vol. 3, pp. 700--707. New York: Wiley.
Fieller, N. J., Flenley, E. C. and Olbricht, W. (1992) Statistics of particle size data. Appl. Statist., 41, 127--146.
data(SandP500)
### Consider proportional changes in the index
change <- SandP500[-length(SandP500)]/SandP500[-1]
hist(change)
logHist(change)
### Show points only
logHist(change, htype = "p", pch = 20, cex = 0.5)
### Fit the hyperbolic distribution to the changes
hyperbFit(change)
Run the code above in your browser using DataLab