ggplot2와 이항 GLM

R에서 Generalized Linear Models

Richard Erickson

Instructor

데이터에서 무엇을 확인할 수 있습니까?

통근 거리가 버스 이용 확률에 영향을 줍니까?

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

점만 표시된 플롯

R에서 Generalized Linear Models

geom_jitter()

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

지터 산점도

R에서 Generalized Linear Models

geom_smooth()

gg_jitter + geom_smooth()

평활 지옴이 추가된 지터 플롯

R에서 Generalized Linear Models

factor를 numeric으로 변환

str(bus)
bus$Bus2 <- as.numeric(bus$Bus) - 1 
R에서 Generalized Linear Models

geom_smooth()

gg_jitter + geom_smooth() 

문자형 대신 숫자형으로 변환된 데이터

R에서 Generalized Linear Models

선형 모형

gg_jitter + geom_smooth(method = 'glm')

ggJitter에 선형 모형 추가

R에서 Generalized Linear Models

로지스틱 회귀

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

로지스틱 곡선이 추가된 ggJitter

R에서 Generalized Linear Models
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') 

logit과 probit 곡선이 모두 표시된 ggJitter

R에서 Generalized Linear Models

단계 요약

  • 겹침 방지를 위해 지터 플롯으로 표시
  • 평활 지옴 추가
  • 적절한 method와 family 지정
  • 그래프 다듬기 (이 강좌에서는 다루지 않음)
R에서 Generalized Linear Models

연습해 봅시다!

R에서 Generalized Linear Models

Preparing Video For Download...