Ratfish
Ratfish

Reputation: 1

Exporting Linear Regression Results Including Confidence Intervals

Hey out there how can I can I export a table of the results used to make the chart I generated for this linear regression model below.

d <- data.frame(x=c(200110,86933,104429,240752,255332,75998,
                    204302,97321,342812,220522,110990,259706,65733),
                y=c(200000,110000,165363,225362,313284,113972,
                    137449,113106,409020,261733,171300,344437,89000))

lm1 <- lm(y~x,data=d)

p_conf1 <- predict(lm1,interval="confidence")


nd <- data.frame(x=seq(0,80000,length=510000))
p_conf2 <- predict(lm1,interval="confidence",newdata=nd)



plot(y~x,data=d,ylim=c(-21750,600000),xlim=c(0,600000)) ## data
abline(lm1) ## fit
matlines(d$x,p_conf1[,c("lwr","upr")],col=2,lty=1,type="b",pch="+")

matlines(nd$x,p_conf2[,c("lwr","upr")],col=4,lty=1,type="b",pch="+")

Upvotes: 0

Views: 2635

Answers (2)

IRTFM
IRTFM

Reputation: 263411

This will return a matrix that has some of the information needed to construct the confidence intervals:

> coef(summary(lm1))
                Estimate   Std. Error   t value     Pr(>|t|)
(Intercept) 21749.037058 2.665203e+04 0.8160369 4.317954e-01
x               1.046954 1.374353e-01 7.6177997 1.037175e-05

Any text on linear regression should have the formula for the confidence interval. You may need to calculate some ancillary quantities dependent on which formula you're using. The code for predict is visible ... just type at the console :

predict.lm

And don't forget that confidence intervals are different than prediction intervals.

Upvotes: 0

Ben Bolker
Ben Bolker

Reputation: 226532

Still not entirely sure what you want but this would seem to be reasonable:

dat1 <- data.frame(d,p_conf1)
dat2 <- data.frame(nd,y=NA,p_conf2)
write.csv(rbind(dat1,dat2),file="linpredout.csv")

It includes x, y (equal to the observation or NA for non-observed points), the predicted value fit, and lwr/upr bounds.

edit: fix typo.

Upvotes: 1

Related Questions