ggplot2 och binomial GLM

Generaliserade linjära modeller i R

Richard Erickson

Instructor

Vad kan jag se i mina data?

Påverkar pendlingsavståndet sannolikheten att ta bussen?

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

Diagram med enbart punkter

Generaliserade linjära modeller i R

geom_jitter()

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

Punktdiagram med jitter

Generaliserade linjära modeller i R

geom_smooth()

gg_jitter + geom_smooth()

Tidigare jitterdiagram med ett utjämnat geom.

Generaliserade linjära modeller i R

Faktor till numerisk

str(bus)
bus$Bus2 <- as.numeric(bus$Bus) - 1 
Generaliserade linjära modeller i R

geom_smooth()

gg_jitter + geom_smooth() 

Ändra data till numerisk typ i stället för teckentyp

Generaliserade linjära modeller i R

Linjära modeller

gg_jitter + geom_smooth(method = 'glm')

Lägg till lm i ggJitter

Generaliserade linjära modeller i R

Logistisk regression

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

ggJitter med en logistisk kurva

Generaliserade linjära modeller i 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 med både en logit- och en probit-kurva

Generaliserade linjära modeller i R

Sammanfattning av stegen

  • Rita med jitter för att undvika överlapp
  • Lägg till ett utjämnat geom
  • Ange rätt metod och familj
  • Förfina diagrammet (tas inte upp i kursen)
Generaliserade linjära modeller i R

Nu kör vi en övning!

Generaliserade linjära modeller i R

Preparing Video For Download...