I have created an equal area histogram using histogram()
in the Lattice, however, I can't seem to find a way to extract the values in the 20 equal are sized bins. Any suggestions? I've also looked into using ggplot2, but I can't create equal area sized bins while having the capability of extracting the data using ggplot_build
. Here's an example:
library(lattice)
cell <- 1:20
psi <- rnorm(1:20)
histogram(df$psi,
freq = TRUE,
equal.width = FALSE,
breaks = NULL,
nint = 20)
As you can see in the figure, an equal area histogram is generated, but now I'd like to know which values from df$psi
are within each bin of the histogram. I've tried assigning the plot to a new variable dfhist <- hist()
and then inspecting the new variable dfhist$
yet it doesn't appear as though the results for each bin are stored anywhere. Thanks for your time.
The values are in the panel.args[[1]]$x
of your plot called for example p
like this:
library(lattice)
cell <- 1:20
psi <- rnorm(1:20)
df <- data.frame(cell = cell,
psi = psi)
p <- lattice::histogram(df$psi,
freq = TRUE,
equal.width = FALSE,
breaks = NULL,
nint = 20)
p$panel.args[[1]]$x
#> [1] 0.57126799 0.52931270 1.09610583 0.40210029 -0.51261307 -1.47656641
#> [7] -1.15286025 -1.62896968 -0.41758147 0.46671218 2.54717967 -1.08131256
#> [13] -0.03050443 -0.25765653 1.60843681 1.43767274 1.72095174 -0.21045430
#> [19] 0.04033122 -0.38105514
Created on 2022-08-25 with reprex v2.0.2