logist_walk2.txt R version 2.11.1 (2010-05-31) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Fit logistic regression model: walk (0) vs. drive (1) as function of trip distance. Fabricated values, for illustration only. > z1 <- runif(40, 0, 4) # generate distances walked (miles) > z2 <- runif(60, 1, 10) # generate distances driven (miles) > z12 <- c(z1, z2) # combine distances into one explanatory variable > w <- c(rep(0,40), rep(1,60)) # generate binary response variable (walk, drive) > trip2 <- glm(w ~ z12, family=binomial) > plot(z12, w) > summary(trip2) > # Fit logistic regression model: walk(0) vs. drive(1) as function of trip distance. > # Fabricated values, for illustration only. > > z1 <- runif(40, 0, 4) # generate distances walked (miles) > z2 <- runif(60, 1, 10) # generate distances driven (miles) > z12 <- c(z1, z2) # combine distances into one explanatory variable > w <- c(rep(0,40), rep(1,60)) # generate binary response variable (walk, drive) > > plot(z12, w, xlab="Trip distance", ylab="Travel mode") # Plot data > trip2 <- glm(w ~ z12, family=binomial) # fit logistic regression model > summary(trip2) Call: glm(formula = w ~ z12, family = binomial) Deviance Residuals: Min 1Q Median 3Q Max -1.4926 -0.7467 0.1190 0.5697 1.9521 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -2.6775 0.6191 -4.325 1.53e-05 *** z12 0.8662 0.1835 4.720 2.36e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 134.602 on 99 degrees of freedom Residual deviance: 84.307 on 98 degrees of freedom AIC: 88.307 Number of Fisher Scoring iterations: 6 > # AIC value not relevant if only one model > > dist <- seq(from=0, to=10, length=200) > w.pred <- exp(-2.8888 + 0.9861*dist) / (1 + exp(-2.8888 + 0.9861*dist)) > lines(dist, w.pred) > # Calculate log-likelihood R^2: > logR2 <- 1 - 73.075 / 134.602 > logR2 [1] 0.4571032 > > # Predict probability(drive) at distance = 6 miles > p6 <- exp(-2.8888 + 0.9861*6) / (1 + exp(-2.8888 + 0.9861*6)) > p6 [1] 0.9538144 > # For distance = 6 miles, Probability(drive) = 0.95 # ******************************************************************** # Fit logistic regression model: walk(0) vs. drive(1) as function of trip distance. # Fabricated values, for illustration only. z1 <- runif(40, 0, 4) # generate distances walked (miles) z2 <- runif(60, 1, 10) # generate distances driven (miles) z12 <- c(z1, z2) # combine distances into one explanatory variable w <- c(rep(0,40), rep(1,60)) # generate binary response variable (walk, drive) plot(z12, w, xlab="Trip distance", ylab="Travel mode") # Plot data trip2 <- glm(w ~ z12, family=binomial) # fit logistic regression model summary(trip2) # AIC value not relevant if only one model dist <- seq(from=0, to=10, length=200) w.pred <- exp(-2.8888 + 0.9861*dist) / (1 + exp(-2.8888 + 0.9861*dist)) lines(dist, w.pred) # Calculate log-likelihood R^2: logR2 <- 1 - 73.075 / 134.602 logR2 # Predict probability(drive) at distance = 6 miles p6 <- exp(-2.8888 + 0.9861*6) / (1 + exp(-2.8888 + 0.9861*6)) p6