让我们假设一个数据集包含单个时间步长(以秒为单位)和一个距离(以m为单位)每个时间步长管理的跑步者:
time <- c(300,600,900) # time in sec
dist <- c(1050,1950,3100) # dist in m
这是一个用来说明它的情节:
plot(x=time,y=dist,xlim=c(0,1800),ylim=c(0,5000))
基于零截距(假设在时间0没有距离),线性回归模型可以评估距离与时间的关系,即可以计算跑步者的速度。
lm1 <- lm(dist~0+time)
abline(lm1,col="red")
此外,还可以轻松预测和绘制该特定线性模型的置信区间:
new_time <- seq(0,2000)
prd <- predict(lm1,newdata=data.frame(time=new_time),interval = c("confidence"),level = 0.90,type="response")
lines(new_time,prd[,"lwr"],col="red",lty=2)
lines(new_time,prd[,"upr"],col="red",lty=2)
然而,当跑步者达到一定距离时,我感兴趣?例如,我想知道跑步者何时超过5000米。当然,平均时间可以从回归系数中提取/计算:
5000/(coef(lm1))[["time"]]
但是我怎样才能得到相应的置信区间,即图中置信区间的线在哪一时间穿过dist = 5000 m线?