#第3章—多元线性回归
data3.1<-read.table('clipboard',header=T)#导入数据
lm3.1<-lm(y~x1+x2+x3+x4+x5+x6+x7+x8+x9,data=data3.1) #建立回归方程
summary(lm3.1)
#计算协方差阵与相关阵
X1<-as.matrix(data3.1[,2:10]) #将data3.1中自变量部分的数据提取出来并转换成矩阵形式进行存储
X<-cbind(1,X1) #将元素全为1的列向量和X1合并生成矩阵X
XX<-t(X)%*%X #计算矩阵X'X
sigma<-389.4 #残差的标准差为 的估计值
covBeta<-sigma^2*solve(XX) #根据公式(3.31)计算协方差矩阵,函数solve()计算矩阵的逆
covBeta
r<-matrix(nrow = 10, ncol = 10) #建立10行10列的矩阵,元素为空
for(i in 1:10){
for(j in 1:10)
r[i,j]<-covBeta[i,j]/(sqrt(covBeta[i,i])*sqrt(covBeta[j,j]))}
#根据公式(3.34)计算相关阵中每个元素的值
r
#r<-cor(data3.1)
#方差分析
#install.packages("car")
library(car)
Anova(lm3.1,type="III") #输出方差分析表,typeII用于回归分析以及不含交互作用的方差分析;typeIII用于含交互作用的方差分析;
lm3.1_drop4<-lm(y~x1+x2+x3+x5+x6+x7+x8+x9,data=data3.1) #lm3.1_drop4<-update(lm3.1,.~.-x4)
summary(lm3.1_drop4)
lm3.1_drop49<-lm(y~x1+x2+x3+x5+x6+x7+x8,data=data3.1)
summary(lm3.1_drop49)
data3.2<-read.table('clipboard',header=T)#导入数据
lm3.2<-lm(y~x1+x2,data=data3.2)
summary(lm3.2)
r<-cor(data3.2) #计算相关系数阵
r
#install.packages("corpcor")
library(corpcor)
pcor3.2<-cor2pcor(r) #由相关系数阵计算偏相关系数阵
pcor3.2
e<-resid(lm3.2,digits=5) #计算残差值
ZRE<-rstandard(lm3.2) #计算学生化残差
ZRE1<-e/475.8 #计算标准化残差
data3.3<-read.table('clipboard',header=T)#导入数据
cor3.3<-cor(data3.3[,-1]) #用除去第一列年份数据后剩余的样本数据计算相关阵
lm3.3<-lm(y~x1+x2+x3+x4+x5,data=data3.3)
summary(lm3.3)
多元线性回归——《应用回归分析R语言版》
最新推荐文章于 2022-03-23 08:05:58 发布