资源描述:
《R语言 线性回归 案例作业.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1研究内容某同学想要在已知一个人的鞋码的情况下,估计这个人的身高。本文通过调查统计得到50名同龄人的身高(height)、体重(weight)以及鞋码(length)的数据(见附录),利用R语言对其中的身高和鞋码的数据进行相关分析,并计算其回归方程。2数据预处理2.1导入数据首先将收集到的表格数据保存在工作目录下>print("Hello,ProfessorXiong:)")[1]"Hello,ProfessorXiong:)">#读取表格文件>data<-read.csv("身高体重鞋码.csv")2.2数据检验数据导入完成后
2、,检验数据的行和列。代码如下:>#检查列和行的数量,应为3列,50行>print(is.data.frame(data))[1]TRUE>print(ncol(data))[1]3>print(nrow(data))[1]50检验结果显示,数据帧为3列50行。检验结果正常,可以对表格中的变量数据进行提取。2.3设置变量用字母x表示自变量鞋码,字母y表示因变量身高,字母z表示其他变量体重。代码如下:>#x表示鞋码,y表示身高,z表示体重>x<-c(data$length)>y<-c(data$height)>z<-c(data$w
3、eight)3建立回归模型完成了数据的预处理之后,对数据进行回归分析找到其中的线性相关关系,并得出线性回归方程。3.1相关性分析相关系数:又叫相关系数或线性相关系数,一般用字母r表示,用来度量两个变量间的线性关系。根据相关系数的检验标准:相关系数的值介于-1与+1之间,即-1≤r≤+1。当r>0时,表示两变量正相关,当r<0时,表示两变量为负相关。当
4、r
5、=1时,表示两变量为完全线性相关即函数关系。当r=1时,称为完全正相关,而当r=-1时,称为完全负相关。当r=0时,表示两变量间无线性相关关系。判断相关性,先看P值,再看r值。
6、代码如下:#相关分析(x,y是长度相同的向量,备择假设默认为“twosides”,#检验方法默认为Pearson检验,置信水平默认为0.95)>cor.test(x,y)Pearson'sproduct-momentcorrelationdata:xandyt=11.489,df=48,p-value=2.219e-15alternativehypothesis:truecorrelationisnotequalto095percentconfidenceinterval:0.75890060.9162906sampleesti
7、mates:cor0.8563536从运行结果可以得到鞋码与身高的相关系数r=0.8564>0.8,P值=2.219×10-15,表明自变量鞋码与因变量身高两者高度相关,存在显著的正相关关系。3.2回归分析代码如下:>#回归分析>lm<-lm(y~x)>plot(y~x,xlab="鞋码",ylab="身高")#散点图>abline(lm)#绘制线性回归线>boxplot(y~x)>summary(lm)Call:lm(formula=y~x)Residuals:Min1QMedian3QMax-9.4114-2.21200.4
8、5372.57176.5886Coefficients:EstimateStd.ErrortvaluePr(>
9、t
10、)(Intercept)51.176910.29464.9718.89e-06***x2.93250.255211.4892.22e-15***---Signif.codes:0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1Residualstandarderror:3.735on48degreesoffreedomMultipleR-squared:0.7333,AdjustedR-squa
11、red:0.7278F-statistic:132on1and48DF,p-value:2.219e-15从运行结果可以看出:(1)回归系数的估计为β0==51.1769,β1=2.9325,相应的标准差为Sd(β0)=10.2946,Sd(β1)=0.2552,它们的p值均很小。故是非常显著的。图3-1身高与鞋码的散点图2(2)相关分析:相关系数R=0.7333,拟合优度较高,表明在身高与鞋码的回归关系的数据中,由73.3%的数据可以由身高和鞋码的线性关系来解释,可见两者之间有较强的相关关系。-12(3)方程的检验:F分布的p
12、值为2.219×10<0.01,因此方程是非常显著的,这与2R的结果一致。(4)线性回归方程与回归系数的检验都是显著的,因此得到回归方程为y=51.1769+2.9325x4诊断线性回归4.1残差分析计算模型的各项残差值,并绘制残差图。代码如下:>y.res<-