So überlagern sie eine normalkurve mit einem histogramm in r (2 beispiele)


Häufig möchten Sie möglicherweise eine Normalkurve über ein Histogramm in R legen.

Die folgenden Beispiele zeigen, wie das in Basis R und ggplot2 geht.

Beispiel 1: Überlagern Sie eine Normalkurve mit einem Basis-R-Histogramm

Wir können den folgenden Code verwenden, um ein Histogramm in Basis R zu erstellen und dem Histogramm eine Normalkurve zu überlagern:

 #make this example reproducible
set. seed ( 0 )

#define data
data <-rnorm( 1000 )

#create histogram
hist_data <- hist(data)

#define x and y values to use for normal curve
x_values <- seq(min(data), max(data), length = 100 )
y_values <- dnorm(x_values, mean = mean(data), sd = sd(data)) 
y_values <- y_values * diff(hist_data$mids[1:2]) * length(data) 

#overlay normal curve on histogram
lines(x_values, y_values, lwd = 2 )

Überlagern Sie die Normalkurve mit dem Histogramm in R

Die schwarze Kurve im Diagramm stellt die Normalkurve dar.

Fühlen Sie sich frei, die Argumente col , lwd und lty zu verwenden, um die Farbe, Breite und den Linientyp zu ändern:

 #overlay normal curve with custom aesthetics
lines(x_values, y_values, col=' red ', lwd= 5 , lty=' dashed ')

Beispiel 2: Überlagern Sie die Normalkurve mit dem Histogramm in ggplot2

Wir können den folgenden Code verwenden, um ein Histogramm in ggplot2 zu erstellen und dem Histogramm eine Normalkurve zu überlagern:

 library (ggplot2)

#make this example reproducible
set. seed ( 0 )

#define data
data <- data. frame (x=rnorm( 1000 ))

#create histogram and overlay normal curve
ggplot(data, aes(x)) +
  geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
  stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)))

Overlay-Histogramm in ggplot2 in R

Die schwarze Kurve im Diagramm stellt die Normalkurve dar.

Fühlen Sie sich frei, die Argumente col , lwd und lty zu verwenden, um die Farbe, Breite und den Linientyp zu ändern:

 #overlay normal curve with custom aesthetics
ggplot(data, aes(x)) +
  geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
  stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)),
                col=' red ', lwd= 2 , lty=' dashed '))

Hinweis : Die vollständige Dokumentation für stat_function finden Siehier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:

So erstellen Sie ein relatives Häufigkeitshistogramm in R
So geben Sie Histogrammunterbrechungen in R an

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert