2015-07-27 17 views
9

Dopasowałem rozkład normalny za pomocą funkcji fitdist z pakietu . Używając , i , możemy wykreślić odpowiednio, jak podano poniżej.Tworzenie działek dopasowanych z ggplot2

set.seed(12345) 
df <- rnorm(n=10, mean = 0, sd =1) 
library(fitdistrplus) 
fm1 <-fitdist(data = df, distr = "norm") 
summary(fm1) 

denscomp(ft = fm1, legendtext = "Normal") 

enter image description here

qqcomp(ft = fm1, legendtext = "Normal") 

enter image description here

cdfcomp(ft = fm1, legendtext = "Normal") 

enter image description here

ppcomp(ft = fm1, legendtext = "Normal") 

enter image description here

Jestem bardzo zainteresowany, aby te działki fitdist z ggplot2. MWE jest poniżej:

qplot(df, geom = 'blank') + 
    geom_line(aes(y = ..density.., colour = 'Empirical'), stat = 'density') + 
    geom_histogram(aes(y = ..density..), fill = 'gray90', colour = 'gray40') + 
    geom_line(stat = 'function', fun = dnorm, 
      args = as.list(fm1$estimate), aes(colour = 'Normal')) + 
    scale_colour_manual(name = 'Density', values = c('red', 'blue')) 

enter image description here

ggplot(data=df, aes(sample = df)) + stat_qq(dist = "norm", dparam = fm1$estimate) 

Goraco wdzięczny, jeśli ktoś daje mi wskazówki, aby te fitdist działek z ggplot2. Dzięki

+3

Gdyby to nie oznaczało nagrody, głosowałbym, by zamknąć jako zbyt szeroki. Każdy wykres powinien być innym pytaniem (chociaż nie musisz pytać o każdy wykres, jeśli masz odpowiedź na jedną lub dwie z nich). – Roland

Odpowiedz

2

można użyć coś takiego:

library(ggplot2) 

ggplot(dataset, aes(x=variable)) + 
geom_histogram(aes(y=..density..),binwidth=.5, colour="black", fill="white") + 
stat_function(fun=dnorm, args=list(mean=mean(z), sd=sd(z)), aes(colour = 
"gaussian", linetype = "gaussian")) + 
stat_function(fun=dfun, aes(colour = "laplace", linetype = "laplace")) + 
scale_colour_manual('',values=c("gaussian"="red", "laplace"="blue"))+ 
scale_linetype_manual('',values=c("gaussian"=1,"laplace"=1)) 

wystarczy zdefiniować dfun przed uruchomieniem grafiki. W tym przykładzie jest to dystrybucja Laplace'a, ale możesz wybrać dowolne i dodać więcej, jeśli chcesz.

Powiązane problemy