[R-br] Opções do lattice (histograma).

Walmes Zeviani walmeszeviani em gmail.com
Quarta Julho 12 17:42:25 -03 2017


Diogo,

Você vai ter que multiplicar a função densidade da normal pela área do
histograma. Segue o código para você juntar as partes.

# dados
res <- c(rnorm(1000, 20, 2),
         rnorm(1000, 15, 1.5),
         rnorm(1000, 25, 2.5),
         rnorm(1000, 25, 2.5))

# fatores
fac <- factor(gl(4, 1000, labels = c("F1", "F2", "F3", "F4")))

library(lattice)

histogram(~res | fac,
          xlab = "Resultado",
          ylab = "Frequência",
          type = "density",
          layout = c(1, 4),
          endpoints = c(0, 40),
          nint = 30,
          scales = list(x = list(at = c(0, 10, 20, 30, 40))),
          panel = function(x, ...) {
              panel.histogram(x,
                              col = rgb(62, 88, 172, max = 255),
                              ...)
              panel.mathdensity(n = 301,
                                dmath = dnorm,
                                args = list(mean = mean(x), sd = sd(x)),
                                ...,
                                col = rgb(13, 141, 70, max = 255),
                                lwd = 2)
          })

# Fazendo usando a hist().
y <- rnorm(100)
ht <- hist(y, breaks = seq(-5, 5, by = 0.5))

# Área do histograma.
a <- sum(diff(ht$breaks) * ht$counts)
a

plot(ht)
curve(a * dnorm(x, mean(y), sd(y)),
      add = TRUE, col = 2)

À diposição.
Walmes.

​
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170712/fc6ad81b/attachment.html>


Mais detalhes sobre a lista de discussão R-br