导出包含置信区间的线性回归结果

时间:2012-12-27 16:40:02

标签: r export regression linear

嘿,我怎么能导出一张表格,用于制作我为下面这个线性回归模型生成的图表。

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="+")

2 个答案:

答案 0 :(得分:1)

仍然不完全确定你想要什么,但这似乎是合理的:

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

它包括xy(等于非观察点的观察或NA),预测值fitlwr / upr界限。

修改:修复拼写错误。

答案 1 :(得分:0)

这将返回一个矩阵,其中包含构建置信区间所需的一些信息:

> 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

线性回归的任何文本都应该有置信区间的公式。您可能需要根据您使用的公式计算一些辅助数量。预测代码是可见的......只需在控制台输入:

predict.lm

不要忘记置信区间与预测区间不同。