Jak utworzyć wykres qq w ggplot2 (z przykładem)
Wykres QQ, skrót od „kwantyl-kwantyl”, służy do oceny, czy zbiór danych potencjalnie pochodzi z rozkładu teoretycznego.
W większości przypadków ten typ wykresu służy do określenia, czy zbiór danych ma rozkład normalny.
Jeśli dane mają rozkład normalny, punkty na wykresie QQ będą leżeć na prostej ukośnej.
I odwrotnie, jeśli punkty znacznie odbiegają od prostej ukośnej, prawdopodobieństwo normalnego rozkładu danych jest mniejsze.
Aby utworzyć wykres QQ w ggplot2, możesz użyć funkcji stat_qq() i stat_qq_line() w następujący sposób:
library (ggplot2)
ggplot(df, aes(sample=y)) +
stat_qq() +
stat_qq_line()
Poniższe przykłady pokazują, jak używać tej składni do tworzenia wykresu QQ w dwóch różnych scenariuszach.
Przykład 1: Wykres QQ dla normalnych danych
Poniższy kod pokazuje, jak wygenerować zbiór danych o rozkładzie normalnym zawierający 200 obserwacji i utworzyć wykres QQ dla zbioru danych w R:
library (ggplot2) #make this example reproducible set. seeds (1) #create some fake data that follows a normal distribution df <- data. frame (y=rnorm(200)) #create QQ plot ggplot(df, aes(sample=y)) + stat_qq() + stat_qq_line()
Widzimy, że punkty leżą głównie wzdłuż prostej linii ukośnej z niewielkimi odchyleniami wzdłuż każdego z ogonów.
Na podstawie tego wykresu założymy, że ten zbiór danych ma rozkład normalny.
Zauważ, że możemy również użyć argumentów koloru i rozmiaru, aby zmienić kolor i rozmiar punktów na wykresie, jeśli chcemy:
library (ggplot2) #make this example reproducible set. seeds (1) #create some fake data that follows a normal distribution df <- data. frame (y=rnorm(200)) #create QQ plot ggplot(df, aes(sample=y)) + stat_qq(size= 2.5 , color=' red ') + stat_qq_line()
Przykład 2: Wykres QQ dla danych innych niż normalne
Poniższy kod pokazuje, jak utworzyć wykres QQ dla zbioru danych o rozkładzie wykładniczym z 200 obserwacjami:
#make this example reproducible set. seeds (1) #create some fake data that follows an exponential distribution df <- data. frame (y=rexp( 200 , rate= 3 )) #create QQ plot ggplot(df, aes(sample=y)) + stat_qq() + stat_qq_line()
Widzimy, że punkty znacznie odbiegają od linii przekątnej. To wyraźnie wskazuje, że zbiór danych nie ma rozkładu normalnego.
Powinno to mieć sens, biorąc pod uwagę, że określiliśmy, że dane powinny mieć rozkład wykładniczy.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w ggplot2:
Jak wykreślić wiele linii w ggplot2
Jak wykreślić średnią i odchylenie standardowe w ggplot2
Jak zmienić kolory linii w ggplot2