ggplot2 i binomialny GLM

Uogólnione modele liniowe w R

Richard Erickson

Instructor

Co widać w danych?

Czy odległość dojazdu wpływa na prawdopodobieństwo korzystania z autobusu?

ggplot(bus, aes(x = MilesOneWay, y = Bus)) + geom_point()

Wykres z samymi punktami

Uogólnione modele liniowe w R

geom_jitter()

gg_jitter <- ggplot(bus, aes(x = MilesOneWay, y = Bus)) +
             geom_jitter(width = 0, height = 0.05)
print(gg_jitter) 

Wykres punktowy z jitterem

Uogólnione modele liniowe w R

geom_smooth()

gg_jitter + geom_smooth()

Poprzedni wykres z jitterem i wygładzoną krzywą.

Uogólnione modele liniowe w R

Faktor na wartość numeryczną

str(bus)
bus$Bus2 <- as.numeric(bus$Bus) - 1 
Uogólnione modele liniowe w R

geom_smooth()

gg_jitter + geom_smooth() 

Dane zmienione z kategorycznych na numeryczne

Uogólnione modele liniowe w R

Modele liniowe

gg_jitter + geom_smooth(method = 'glm')

Dodawanie lm do ggJitter

Uogólnione modele liniowe w R

Regresja logistyczna

ggJitter + 
geom_smooth(method = 'glm',
            method.args = list(family = "binomial")) 

ggJitter z krzywą logistyczną

Uogólnione modele liniowe w R
gg_jitter + 
    geom_smooth(method = 'glm',
                method.args = list(family = binomial(link = 'logit')),
                se = FALSE, color = 'red') +
    geom_smooth(method = 'glm',
                method.args = list(family = binomial(link = 'probit')),
                se = FALSE, color = 'blue') 

ggJitter z wykresami logit i probit

Uogólnione modele liniowe w R

Podsumowanie kroków

  • Wykres jitter, aby uniknąć nakładania się punktów
  • Dodanie wygładzonego geom
  • Określenie właściwej metody i rodziny
  • Dopracowanie wykresu (poza zakresem kursu)
Uogólnione modele liniowe w R

Czas na ćwiczenia!

Uogólnione modele liniowe w R

Preparing Video For Download...