**#第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)在这里插入代码片
一元线性回归——《应用回归分析R语言版》
最新推荐文章于 2024-04-17 08:26:29 发布