一元线性回归——《应用回归分析R语言版》

**#第2章 一元线性回归
#2.1
#R软件读取数据——方法一**
x<-c(3.4, 1.8, 4.6, 2.3, 3.1, 5.5, 0.7, 3.0, 2.6, 4.3, 2.1, 1.1, 6.1, 4.8,3.8)
y<-c(26.2, 17.8, 31.3, 23.1, 27.5, 36.5, 14.1, 22.3, 19.6, 31.3, 24.0, 17.3, 43.2, 36.4, 26.1)
> mean(x)
> sd(x)

**#R软件读取数据——方法二**
#读取存储在D盘中的fire.txt数据
Fire<-read.table(“D:/fire.txt”,head=TRUE)
#read.table(file.choose(),head=TRUE)通过弹出的对话框来选择文件的位置
#此外在读取其他软件(SAS/SPSS等)中的数据加载包library(foreign)

 **#建立线性回归方程**
lm2.1 <- lm(y~x)
lm2.2 <- lm(y~x-1)  #不包含截距项
summary(lm2.1)      #输出回归分析的结果
Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4798 -1.5006 -0.1969  1.7958  3.3958 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  10.2066     1.4087   7.246 6.50e-06 ***
x             4.9512     0.3895  12.711 1.04e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.297 on 13 degrees of freedom
Multiple R-squared:  0.9255,	Adjusted R-squared:  0.9198 
F-statistic: 161.6 on 1 and 13 DF,  p-value: 1.045e-08

**#输出方差分析表**
anova(lm2.1)
Analysis of Variance Table
Response: y
          Df Sum Sq Mean Sq F value    Pr(>F)    
x          1 852.72  852.72  161.56 1.045e-08 ***
Residuals 13  68.61    5.28                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

**#计算相关系数并检验其显著性**
cor(x, y, method = "pearson") #method = "pearson"/"kendall"/"spearman"
#alternative = "two.sided"/"less“/“greater"分别代表双侧检验、左侧检验和右侧检验,默认为双侧检验
cor.test(x, y, alternative = "two.sided", method = "pearson", conf.level = 0.95) 

**#计算残差**
e<-resid(lm2.1,digits = 5)   #保留小数点后5位
e
plot(x, e)
y.res=resid(lm2.1)
plot(y.res~x)

ZRE1<-e/2.316            #计算标准化残差,2.316为输出结果lm2.1的残差标准误差(residual standard error)
ZRE1
ZRE2<-rstandard(lm2.1)  #计算学生化残差
ZRE2

**#回归系数区间估计,默认置信度(level)为0.95**
confint(lm2.1) 

**#预测和控制**
new<-data.frame(x = 3.5)  #输入新值3.5,此处必须已数据框的形式存储新点

#因变量单个值的区间预测——预测区间(prediction interval)
ypred<-predict(lm2.1,new,interval = "prediction", level = 0.95)
#因变量平均值的区间预测——置信区间(confidence interval)
yconf<-predict(lm2.1,new,interval = "confidence", level = 0.95)
ypred
yconf


**#一元线性回归全**
data2.2<-read.table('clipboard',header=T)#导入数据
attach(data2.2)
data_outline<-c(mean(x), sd(x), mean(y), sd(y))
data_outline
cor.test(x, y)                     #x与y相关系数的显著性检验
lm2.2<-lm(y~x, data=data2.2)       #建立回归方程及及其显著性检验
anova(lm2.2)                       #输出方差分析表
summary(lm2.2)                     #输出回归方程及及其显著性检验
confint(lm2.2)                     #计算回归系数95%的置信区间
SRE<-rstandard(lm2.2)              #计算学生化残差
plot(x,SRE,xlab = "城镇居民人均收入",ylab = "学生化残差")
detach(data2.2)在这里插入代码片
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值