Histogramm mit R erstellen

Manchmal muss man ein Histogramm in R erstellen. Dies gilt zum Beispiel um eine Maschinenfähigkeit oder Prozessfähigkeit zu berechnen und visuell zu überprüfen.

Einfach folgenden Code für die Erstellung des Histogramms in R kopieren. In dem passenden Beitrag finden Sie noch mehr Informationen zur Maschinen- und Prozessfähigkeit.

Histogramm in R erstellen – Code und Darstellung

# Installieren und laden Sie ggplot2, falls noch nicht geschehen

install.packages("ggplot2")
library(ggplot2)

# Simulierte Daten
set.seed(123) # Für Reproduzierbarkeit
data <- rnorm(1000, mean=50, sd=3) # 1000 Datenpunkte mit Mittelwert 50 und Standardabweichung 3

# Spezifikationsgrenzen und Prozessmittelwert

USL <- 58
LSL <- 42
mean_data <- mean(data)

# Cpk berechnen

cpk_lower <- (mean_data - LSL) / (3*sd(data))
cpk_upper <- (USL - mean_data) / (3*sd(data))
cpk <- min(cpk_lower, cpk_upper)

# Höchste Dichte berechnen
densities <- density(data)$y
max_density <- max(densities)

# Diagramm zeichnen

ggplot(data.frame(data), aes(x=data)) +
  geom_histogram(aes(y=..density..), bins=30, fill="blue", alpha=0.7) +
  geom_vline(aes(xintercept=mean_data), color="green", linetype="dashed", size=1) +
  geom_segment(aes(x=LSL, y=0, xend=LSL, yend=max_density*0.8), color="red", linetype="dashed", size=1) + 
# Verkürzte Linie für LSL
  geom_segment(aes(x=USL, y=0, xend=USL, yend=max_density*0.8), color="red", linetype="dashed", size=1) + 
# Verkürzte Linie für USL
  stat_function(fun=dnorm, args=list(mean=mean_data, sd=sd(data)), color="black", size=1) +
 # Normalverteilungskurve
  annotate("text", x=LSL, y=max_density*0.85, label="LSL", color="red") + # Bezeichnung für LSL
  annotate("text", x=USL, y=max_density*0.85, label="USL", color="red") + # Bezeichnung für USL
  ggtitle(paste("Cpk-Wert:", round(cpk, 2))) +
  labs(x="Messwert", y="Dichte") +
  theme_minimal()