hills | R Documentation |
Scottish Hill Races Data
Description
The record times in 1984 (hills
) for 35 Scottish hill races,
or in 2000 (hills2000
) for 56 hill races. The hills2000
dataset is the subset of races2000
for which type
is hill
.
Usage
data(hills)
data(hills2000)
Format
- dist
distance, in miles (on the map)
- climb
total height gained during the route, in feet
- time
record time in hours
- timef
record time in hours for females, in the
hills2000
dataset.
Source
A.C. Atkinson (1986) Comment: Aspects of diagnostic regression analysis. Statistical Science 1, 397-402.
Also, in MASS library, with time in minutes.
The Scottish Running Resource, http://www.hillrunning.co.uk
References
A.C. Atkinson (1988) Transformations unmasked. Technometrics 30,
311-318. [ "corrects" the time for Knock Hill, in the hills
dataset, from 78.65 to 18.65. It
is unclear if this based on the original records.]
Examples
print("Transformation - Example 6.4.3")
pairs(hills, labels=c("dist\n\n(miles)", "climb\n\n(feet)",
"time\n\n(hours)"))
pause()
pairs(log(hills), labels=c("dist\n\n(log(miles))", "climb\n\n(log(feet))",
"time\n\n(log(hours))"))
pause()
hills0.loglm <- lm(log(time) ~ log(dist) + log(climb), data = hills)
oldpar <- par(mfrow=c(2,2))
plot(hills0.loglm)
pause()
hills.loglm <- lm(log(time) ~ log(dist) + log(climb), data = hills[-18,])
summary(hills.loglm)
plot(hills.loglm)
pause()
hills2.loglm <- lm(log(time) ~ log(dist)+log(climb)+log(dist):log(climb),
data=hills[-18,])
anova(hills.loglm, hills2.loglm)
pause()
step(hills2.loglm)
pause()
summary(hills.loglm, corr=TRUE)$coef
pause()
summary(hills2.loglm, corr=TRUE)$coef
par(oldpar)
pause()
print("Nonlinear - Example 6.9.4")
hills.nls0 <- nls(time ~ (dist^alpha)*(climb^beta), start =
c(alpha = .909, beta = .260), data = hills[-18,])
summary(hills.nls0)
plot(residuals(hills.nls0) ~ predict(hills.nls0)) # residual plot
pause()
hills$climb.mi <- hills$climb/5280
hills.nls <- nls(time ~ alpha + beta*dist + gamma*(climb.mi^delta),
start=c(alpha = 1, beta = 1, gamma = 1, delta = 1), data=hills[-18,])
summary(hills.nls)
plot(residuals(hills.nls) ~ predict(hills.nls)) # residual plot