《多元统计分析及r语言建模王斌会》百度网盘pdf最新全集下载:
链接:https://pan.baidu.com/s/1cZO-DK5ohWGhCOw2ZH9Oug
?pwd=sh1u 提取码:sh1u简介:《多元统计分析及R语言建模(第五版)》重点介绍R语言在多元数据分析和统计建模方面的应用技巧,内容涉及多元数据的收集和整理、多元数据的直观显示、线性与非线性模型及广义线性模型、判别分析、聚类分析、主成分分析、因子分析、对应分析、典型相关分析等常见的主流多元统计分析方面的内容。
library(openxlsx) #加载读取Excel数据包#【输出设置】
#setwd("C:/Users/lst89/Documents/mvexer5") #设置目录
options(digits=4)
par(mar=c(4,4,2,1))
#第二章p57-2-1
R=matrix(c(1,0.8,0.26,0.67,0.34,0.8,1,0.33,0.59,0.34,0.26,0.33,1,0.37,0.21,0.67,0.59,0.37,1,0.35,0.34,0.34,0.21,0.35,1),nrow = 5,ncol = 5)
R #输入数据
solve(R) #求逆矩阵
R.e=eigen(R,symmetric=T) #symmetric是判断是否为对称阵,
R.e #求矩阵的特诊值
R.e $ vectors%*%diag(R.e $ values)%*%t(R.e $ vectors)#特征向量
#第二章p57-2-2
library(openxlsx) #加载读取Excel数据包
E2.2=read.xlsx('mvexer5.xlsx','E2.2')
E2.2 #读取mvexer5.xlsx表格E2.2数据
breaks = seq(0,3000,by = 300) #按组距为300编制频数表
breaks
hist(E2.2 $ X,breaks,col = 1:7,xlab = "工资(元)",ylab = "频数")#以工资x为横轴,频数y为纵轴,将数据划分为0-3000并以300为度量,绘制7列的彩色直方图
hist(E2.2 $ X ,breaks,freq = F,col = 1:7,xlab = "工资(元)",ylab = "频率")
Cumsum <- cumsum(E2.2 $ X)
cumsum
M <- seq(0,96000,by = 3000)
hist(Cumsum,M,freq = F,col = 1:12,las = 3,xlab = "工资(元)",ylab = "累积频率")#绘制出累计频率直方图
H = hist(E2.2 $ X,breaks = seq(900,3000,300))#正态概率图
names(H)
data.frame('组中距' = H $ mids,'频数' = H $ counts,'频率' = H $ density*300,'累积频率' = cumsum(H $ density*300))#
#第二章p57-2-3
library(openxlsx) #加载读取Excel数据包
E2.3=read.xlsx('mvexer5.xlsx','E2.3')
E2.3#读取mvexer5.xlsx表格E2.2数据
str(E2.3)
summary(E2.3)#对数据进行基本统计分析
#第三章P84-2.1
library(openxlsx)
E3.2 = read.xlsx('mvexer5.xlsx',sheet = 'E3.2',rowNames = TRUE)
#设定参数rowNames=TRUE,即可将第一列字符变量变成数据框的行名,供后期使用
E3.2
#在Excel文件中mvexer5.xlsx的表单d3.2中选择A1:E22,并复制到剪切板
dat = read.table("clipboard",header = T) #将剪切板数据读入数据框dat中
dat
#数据框标记转换函数
msa.X <- function(df){ #将数据框第一列设置为数据框行名
X = df[,-1] #删除数据框df的第一列并赋给X
rownames(X) = df[,1] #将df的第一列值赋给X的行名
X #返回新的数值数据框=return(X)
}
E3.2 = msa.X(dat)
E3.2
barplot(apply(E3.2,2,mean)) #按行作均值条形图
barplot(apply(E3.2,1,mean),las = 3) #修改横坐标标记
barplot(apply(E3.2,2,mean)) #按列作均值条图
barplot(apply(E3.2,2,median)) #按列作中位数条图
barplot(apply(E3.2,2,median),col = 1:8) #按列取色
boxplot(E3.2)#按列作箱尾图
boxplot(E3.2,horizontal = T) #箱尾图中图形按水平放置
#四p119-2-1
library(openxlsx) #加载读取Excel数据包
E4.1=read.table("clipboard",header = T)
E4.1
plot(x,y,main = '散点图',xlab = '每周加班时间(小时)',ylab = '每周签发的新保单数目(张)') #绘制散点图
cor(E4.1) #相关系数
lm4.1 <- lm(E4.1)
lm4.1
#估计值
square_sigma <- t(E4.1)/(10-1-1)#square_sigma <- t(x_hat - y)%*%(x_hat - y)/(10-1-1)
square_sigma
y = c(3.5,1,4,2,1,3,4.5,1.5,3,5)
x = c(825,215,1070,550,480,920,1350,325,670,1215)
y_hat <- 46.15 + 251.17*y
s <- t(y_hat - x)%*%(y_hat - x)/(10-1-1)
s
(summary(lm4.1) $ s)^2
#求方差分析
SR <- t(y_hat - mean(x))%*%(y_hat - mean(x))
ST <- t(x - mean(x))%*%(x - mean(x))
s_R <- SR/ST
s_R
(summary(lm4.1) $ r.squared)
anova(lm4.1)
#对回归方程作残差图分析
res <- residuals(lm4.1)
res
plot(y,res,main='残差散点图',xlab='每周签发的新保单数目',ylab='残差')
plot(lm4.1)
#计算1000张要加班的时间
lm4.1_1 <- lm(x ~ y,data = ee4.1)
predict(lm4.1_1,newdata = data.frame(y = 1000))
lm4.1_1 <- lm(y ~ x,data = ee4.1)
predict(lm4.1_1,newdata = data.frame(x = 1000))
#四p119-2-2
library(openxlsx)
E4.2 = read.xlsx('mvexer5.xlsx',sheet = 'E4.2',rowNames = T)
(lm4.2 = lm(y ~ x1 + x2,data = E4.2)) #显示多元线性回归模型
案例:某方便面厂商对旗下产品做品牌形象研究,针对竞品和自家产品,询问了下列问题,用于收集关于品牌形象的数据。
消费者行为学中,认为对品牌的态度会影响到消费者是否购买。主要基于费希本的多属性模型,认为消费者在决策时,会对比产品的多个属性,综合决定。所以在市场调研中要调查消费者关注哪些属性,同时还要调研在消费者印象中,不同品牌拥有哪些属性?
对应分析的数学统计背景:参考mooc课程①《多元统计分析及R语言建模》②《多元统计分析》
在问卷中,设置如案例的题目,能收集到被访者对各个品牌的形象选择频数。
两个问题:数据格式,数据类型
数据格式:①交叉表:SPSS中的交叉表和频数表不同,交叉表不能直接做对应分析,需要在Excel中转为频数表,重新录入后才能用。如何将二维表(交叉表)转为一维表(频数表) https://zhuanlan.zhihu.com/p/36204790 。②问卷数据:问卷导出的格式是按个案存储的,需要转为汇总格式的频数表才能用,多选题的转化需要定义多重响应集,然后用定制表输出频数表所需格式,重新录入SPSS中。如何调整数据用于对应分析(文章最后一部分) https://www.jianshu.com/p/98909f35b1c8
数据类型:①频数②打分③百分比。一般情况下都是频数(分类变量的数据),在《市场研究中的统计分析方法·专题篇》中还提到了使用频数加工后的列百分比数据。相对原始频数,用这种数据对结果有什么影响,不是很了解。还可以用打分产生的数据,但打分产生的数据,简单对应分析使用不同的分析方法,具体见《SPSS统计分析高级教程》245页-基于均数的对应分析。
其一:简单的统计排序,统计各个品牌在各个形象中的被选情况,做个排序。
其二:对应分析
1.通过卡方检验是否适用对应分析。对应分析的前提是,行列变量之间的确存在关联。
2.利用交叉表,查看原始分布的情况,了解各类别的数据,是否有频次过少的变量,如果有,则需要处理,一般是删除,或者不参与对应分析。(与多元对应分析比较,处理方法略有不同)。了解各品牌的大致突出的形象是什么。
行列交叉表,用于简单观察分布情况,同时查看是否有数据缺少等问题。
各行类别在各个维度上的信息量。
同上
具体看法:
第一种是分开看,行类别是否有效分开了,越是分开,代表对应分析的效果越好。具体看位置,比如行类别左右分的很开,上下却没有,说明行类别的信息主要体现在了横坐标上。
第二种是行列一起看,点与点之间的距离代表了关联程度,越近表明关联越大。同时离原点位置越远,代表了关联倾向越明显,可以从行和列汇总表中“维中的得分”理解,离原点越近,其维度中的信息量越少。