用R语言进行简单线性回归分析.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用R语言进行简单线性回归分析

fire.txt :(数据出自何晓群--应用回归分析)x y3.4 26.21.8 17.84.6 31.32.3 23.13.1 27.55.5 360.7 14.13.022.32.6 19.64.3 31.32.1 241.1 17.36.1 43.24.8 36.43.8 26.1#-------------------------------------------------------------#数据准备fire - read.table(D:/fire.txt, head = T)#-------------------------------------------------------------#回归分析plot(fire$y ~ fire$x)fire.reg - lm(fire$y ~ fire$x, data = fire) #回归拟合summary(fire.reg) #回归分析表anova(fire.reg) #方差分析表abline(fire.reg, col = 2, lty = 2) #拟合直线#-------------------------------------------------------------#残差分析fire.res - residuals(fire.reg) #残差fire.sre - rstandard(fire.reg) #学生化残差plot(fire.sre)abline(h = 0)text(11, fire.sre[11], label = 11, adj = (-0.3), col = 2) #标注点#-------------------------------------------------------------#预测与控制attach(fire) #连接fire.reg - lm(y ~ x) #这种回归拟合简单fire.points - data.frame(x = c(3.5, 4))fire.pred - predict(fire.reg, fire.points, interval = prediction, level = 0.95) #预测:置信区间fire.preddetach(fire) #取消连接--------------------------------------------------------------------------------------------------#附自编的过程程序:(R最大的好处是可以自己编想要的程序和函数,尤其没有内置函数的时候)fire - read.table(D:/fire.txt, head = T)attach(fire)--------------------------------------------lxy - function(x){sum - 0sum0 - 0 for(i in 1:length(x)){sum0 - (x[i] - mean(x)) * (y[i]-mean(y))sum - sum + sum0}sum}---------------------------------------------------------------------------------#用这个就不需要循环了lxy - function(x){mid - (x - mean(x)) * (y-mean(y))sum - sum(mid)sum}#对于数据框、列表等数据对象要善用apply()函数。---------------------------------------------------------------------------------lxx - function(x){sum - 0sum0 - 0 for(i in 1:length(x)){sum0 - (x[i] - mean(x))^2sum - sum + sum0}sum}Lxx - lxx(x)Lyy - lxx(y)Lxy - lxy(x)b1 - Lxy / Lxx; b1 #回归系数斜率b0 - mean(y) - b1 * mean(x); b0 #回归系数截距residu - y - (b0 + b1*x); residu #残差r - Lxy / sqrt(Lxx * Lyy); r #相关系数rsqure - r^2; rsqure #决定系数adrsqure - 1 - ((length(x)-1)/(length(x)-2))*(1-r^2) #调整后的决定系数---------------------------------------------

文档评论(0)

精品报告 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档