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()

Wykres QQ w ggplot2

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *