library(readxl)
movie_t=read_excel('F:\\桌面\\classR\\第三次实验课_for student\\原始数据表.xls')
movie_t=data.frame(movie_t)
rownames(movie_t)=movie_t[,1] # 第一列为行名
movie_t=movie_t[,-1]
#1.定性说明影响因素与票房之间的关系;
#2.建立票房的影响因素模型,并识别影响因素的强度;
#建立模型
library(ppcor)
pcor(movie_t) # 各自变量与票房之间的偏相关系数
attach(movie_t)
lm.sol=lm(累计票房~.,data=movie_t)
summary(lm.sol)
lm.sol2=lm(累计票房~1+平均票价+总人次+百度指数峰值,data=movie_t)
summary(lm.sol2) #最终模型
# 影响因素的强度
Zmovie_t<-data.frame(scale(movie_t))
lm.sol3=lm(累计票房~0+平均票价+总人次+百度指数峰值,data=Zmovie_t)
summary(lm.sol3)
#诊断
plot(lm.sol2)n
shapiro.test(lm.sol2$residuals)
residuals(lm.sol2)
#3.如果有多重共线性,建立因子回归模型,并解读模型的管理含义。
movie_t2=cbind(movie_t[,1:2],总人次=movie_t[,5],百度指数峰值=movie_t[,7])
head(movie_t2)
#识别多重共线性
library(car)
vif(lm.sol2) #方差膨胀系数
View(cor(movie_t2)) # 相关系数
movie_t3=movie_t2[,-1]
fa=factanal(movie_t3,factors = 1,scores="regression")
fa
fa$scores
lm<-lm(累计票房~fa$scores,movie_t2) #建立因变量和第一公因子得分间的线性回归模型
lm
summary(lm)
#y=88830+129528F1
scale(movie_t2)
#平均票价--x1,总人次--x2,百度指数峰值--x3
#F1=0.287*(x1-35.88/3.27)+0.828*(x2-2339.76/2805.58)+0.673*(x3-258021.68/374072.6)
#y=-468632.6+113725.58x1+38.86x2+0.13x3
R大作业3
于 2023-02-03 22:29:57 首次发布