Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 导出线性回归结果,包括置信区间_R_Export_Regression_Linear Regression - Fatal编程技术网

R 导出线性回归结果,包括置信区间

R 导出线性回归结果,包括置信区间,r,export,regression,linear-regression,R,Export,Regression,Linear Regression,嘿,我怎样才能导出一个结果表,用于制作我为下面的线性回归模型生成的图表 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,

嘿,我怎样才能导出一个结果表,用于制作我为下面的线性回归模型生成的图表

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

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

> 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的代码是可见的。。。只需在控制台上键入:

predict.lm

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

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

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

dat1您能更具体地说明您想要在表中显示什么吗?有几个要点:(1)您真的需要对510000个介于0和80000之间的值进行预测吗?看起来有点过分(至少对于图形输出而言)。。。(2) 如果您按
x
d
进行排序,您的图片会更漂亮:
d谢谢,我当然可以缩小预测范围。我想是打字错误。我的目标是生成一张图表,显示当我们超出用于生成线性回归的数据的下限时,置信区间如何随此模型变化。此外,我希望能够为数据集内外的任何预测y生成置信区间。然后访问这些结果。顺便说一句,如果你的问题得到满意的回答,点击最佳答案旁边的复选标记接受它被认为是良好的形式(但不是严格要求)…Blolker Hey非常感谢你的帮助。我完全不懂这个程序和语言。我花了好几个小时才完成这项工作。我是如此接近,但正如你可以看到下面的代码生成了一个错误,我相信我的一部分不当使用。我只是把它贴在我已经写的东西的末尾。想法?…>>dat1 dat2 write.csv(rbind(dat1,tdat2),file=“linpredout.csv”)rbind(dat1,tdat2)中出现错误:对象“tdat2”未被删除found@Bolker酷它现在不会生成错误消息——但我不能在代码中的正确位置使用它,因为没有生成.csv文件。或者如果是,我不知道在哪里可以找到它。非常感谢您的帮助。
?getwd
(这说明了如何获取和设置工作目录)。或者使用绝对路径,例如
file=“c:/myout.csv”
——但从长远来看,了解工作目录的工作原理要好得多。我认为,如果OP希望能够预测R之外的间隔,他们也需要
vcov()
的结果(即斜率截距相关)。。。但我不是这样理解他们的问题的。我想我们的理解是不同的。我以为OP想为CI乐队建立一个公式。