Digitando get("compute_group", ggplot2::StatDensity)
(o, in precedenza, get("calculate", ggplot2:::StatDensity)
) si arriva l'algoritmo utilizzato per calcolare la densità. (Alla radice, è una chiamata a density()
con kernel="gaussian"
il default.)
I punti utilizzati nella trama sono invisibilmente restituiti da print.ggplot()
, in modo da potervi accedere in questo modo:
library(ggplot2)
m <- ggplot(movies, aes(x = rating))
m <- m + geom_density()
p <- print(m)
head(p$data[[1]], 3)
# y x density scaled count PANEL group ymin ymax
# 1 0.0073761 1.0000 0.0073761 0.025917 433.63 1 1 0 0.0073761
# 2 0.0076527 1.0176 0.0076527 0.026888 449.88 1 1 0 0.0076527
# 3 0.0078726 1.0352 0.0078726 0.027661 462.81 1 1 0 0.0078726
## Just to show that those are the points you are after,
## extract and use them to create a lattice xyplot
library(gridExtra)
library(lattice)
mm <- xyplot(y ~x, data=p$data[[1]], type="l")
fonte
2012-09-12 19:00:28
ho scoperto che stat_density() consente di impostare i parametri. Quindi probabilmente questo risponde alla prima parte. Voglio ancora sapere se l'equazione o i punti possono essere estratti. – unixsnob