《r语言与多元统计分析》由会员分享,可在线阅读,更多相关《r语言与多元统计分析(40页珍藏版)》请在金锄头文库上搜索。
1、R语言与多元统计分析 周 跃 进 安徽理工大学 2017年3月31日 (AUST)2017年3月31日1 / 40 R安装 从网站上下载安装: www.r-project.org (AUST)2017年3月31日2 / 40 向量的建立 数值型向量建立, 一般三种函数 seq()具有较为简单的规律 rep()具有较为复杂的规律 c()没有规律 例子 1:10 1:10-1 seq(1,5,by=0.5) rep(2:5,2) rep(2:5,times=4,each=2) (AUST)2017年3月31日3 / 40 字符型向量的建立, 用c() 例如: 10提取大于10的数 xx10iter
2、.max是最大迭代 次数;nstart是当centers是数字的时候, 随机集合的个数;algorithm是 算法, 默认是第一个. 例子: newiris iris model kmeans(scale(newiris1:4),3) model plot(newirisc(“Sepal.Length”,“Sepal.Width”),col=model cluster) (AUST)2017年3月31日27 / 40 判别分析-Discriminant Analysis 1.距离判别法 两个总体R程序名:discriminiant.distance.R 输入变量TrnX1,TrnX2表示X1类
3、,X2类训练样本, 其输入格式是 数据框或矩阵 TstX是待测样本;var.equal=TRUE表示两个总体协方差阵相同 2.Fisher判别法 R函数:lda() 格式:lda(formula,data,.,subset) formula用法:group X1+X2+.,subset指训练样本 (AUST)2017年3月31日28 / 40 例子:data(iris) attach(iris) names(iris) library(MASS) iris.lda lda(Species Sepal.Length+Sepal.Width+Petal.Length+Petal.Width) ir
4、is.lda (AUST)2017年3月31日29 / 40 3.Bayes判别法两个总体判别的贝叶斯判别程序 输入TrnX1 TrnX2表示X1类X2类训练样本样本输入格式为数据 框 rate=p2/p1缺省时为1 Tst为待测样本其输入格式是数据框为两个训练样本之和 var.equal是逻辑变量当其值为TRUE是表示认为两个总体的协 方差相同否则不同 输出函数的输出时1和2构成的一维矩阵1表示待测样本属 于X1类 (AUST)2017年3月31日30 / 40 主成分分析-Principle Component Analysis 1.主成分分析R语言函数:princomp() 用法:pri
5、ncomp(x,cor=FALSE,scores=TRUE) x是用于主成分分析的数据;cor是逻辑变量, 当cor=TRUE时表 示用样本的相关阵R作主成分分析, 否则cor=FALSE时表示用样本 的协方差阵S作主成分分析。 2.summary():其目的提取主成分信息 用法:summary(object, loadings = FALSE) 其中object是princomp()得到的对象,loadings是逻辑变量, 当loadings= TRUE时表示显示loadings的内容, 否则不显示。 (AUST)2017年3月31日31 / 40 3.predict(): 预测主成分的值
6、用法:predict(object, newdata, .), 其中object是princomp()得到 的对象,newdata是由预测值构成的数据框 4.screeplot():画出主成分的碎石图 用法:screeplot(x, npcs = min(10, length(x),type = c(“barplot”, “lines”),main = deparse(substitute(x), .) 其中x是princomp()得到的对象,npcs是画出主成分的个 数,type是画出图的类型 5.biplot():画出数据关于主成分的散点图 用法:biplot(x, choices = 1
7、:2, scale = 1, pc.biplot = FALSE, .) 其中x是princomp()得到的对象,choices是选择主成分 (AUST)2017年3月31日32 / 40 例: 在某中学随机抽取30学生, 测量其身高(X1),体重(X2),胸 围(X3),坐高(X4).试对30名学生身体四项指标数据作主成分分析。 student data.frame( X1=c(148, 139, 160, 149, 159, 142, 153, 150, 151, 139, 140, 161, 158, 140, 137, 152, 149, 145, 160, 156, 151, 147
8、, 157, 147, 157, 151, 144, 141, 139, 148), X2=c(41, 34, 49, 36, 45, 31, 43, 43, 42, 31, 29, 47, 49, 33, 31, 35, 47, 35, 47, 44, 42, 38, 39, 30, 48, 36, 36, 30, 32, 38), X3=c(72, 71, 77, 67, 80, 66, 76, 77, 77, 68, 64, 78, 78, 67, 66, 73, 82, 70, 74, 78, 73, 73, 68, 65, 80, 74, 68, 67, 68, 70), (AUST
9、)2017年3月31日33 / 40 X4=c(78, 76, 86, 79, 86, 76, 83, 79, 80, 74, 74, 84, 83, 77, 73, 79, 79, 77, 87, 85, 82, 78, 80, 75, 88, 80, 76, 76, 73, 78) student.pr princomp(student, cor = TRUE) summary(student.pr, loadings=TRUE) predict(student.pr) screeplot(student.pr,type=“lines”) (AUST)2017年3月31日34 / 40 6
10、.应用: 主成分回归 当自变量出现多重共线性时, 经典回归方法作回归系数的最 小二乘估计, 一般效果会较差, 而采用主成分回归能克服直接回归 的不足。 例:Y:进口总额;X1:国内生产总值;X2:存储量;X3:总消费量 conomydata.frame( x1=c(149.3, 161.2, 171.5, 175.5, 180.8, 190.7, 202.1, 212.4, 226.1, 231.9, 239.0), x2=c(4.2, 4.1, 3.1, 3.1, 1.1, 2.2, 2.1, 5.6, 5.0, 5.1, 0.7), x3=c(108.1, 114.8, 123.2, 12
11、6.9, 132.1, 137.7, 146.0, 154.1, 162.3, 164.3, 167.6), y=c(15.9, 16.4, 19.0, 19.1, 18.8, 20.4, 22.7, 26.5, 28.1, 27.6, 26.3) (AUST)2017年3月31日35 / 40 作线性回归分析 lm.sollm(y x1+x2+x3, data=conomy) summary(lm.sol) 作主成分分析 conomy.prprincomp( x1+x2+x3, data=conomy, cor=T) summary(conomy.pr, loadings=TRUE) pre
12、-predict(conomy.pr) 预测样本主成分, 并作主成分分析 conomy.z1pre,1; conomy.z2pre,2 lm.sollm(y z1+z2, data=conomy) summary(lm.sol) (AUST)2017年3月31日36 / 40 因子分析-Factor Analysis R函数:factanal() 用法:factanal(x, factors, data = NULL, covmat = NULL, n.obs = NA, subset, na.action, start = NULL,scores = c(“none”, “regressio
13、n”, “Bartlett”), rotation = ”varimax”, control = NULL, .) x是用于因子分析的数据,factors表示因子个数,scores表示因 子得分的方法,scores=“regression”表示用回归方法计算因子得 分,scores=“Bartlett”表示用Bartlett计算因子得分; (AUST)2017年3月31日37 / 40 例:对55个国家和地区男子田径赛记录作统计, 每位运动员记 录8项指标:100米跑(X1),200米跑(X2),400米跑(X3),800米 跑(X4),1500米跑(X5), 5000米跑(X6),10000
14、米跑(X7),马拉松(X8).8项 指标的相关矩阵R给出。估计因子载荷和共性方差等。 x c(1.000, 0.923, 1.000, 0.841, 0.851, 1.000, 0.756, 0.807, 0.870, 1.000, 0.700, 0.775, 0.835, 0.918, 1.000, 0.619, 0.695, 0.779, 0.864, 0.928, 1.000, 0.633, 0.697, 0.787, 0.869, 0.935, 0.975, 1.000, 0.520, 0.596, 0.705, 0.806, 0.866, 0.932, 0.943, 1.000) n
15、ames c(“X1”, “X2”, “X3”, “X4”, “X5”, “X6”, “X7”, “X8”) R matrix(0, nrow=8, ncol=8, dimnames=list(names, names) (AUST)2017年3月31日38 / 40 for (i in 1:8) for (j in 1:i) Ri,j x(i-1)*i/2+j Rj,i Ri,j fa-factanal(factors=2, covmat=R) fa 结果中说明: uniquenesses:特殊因子方差 loadings:因子载荷矩阵 SS loadings:每个因子对变量的方差总贡献 (AUST)2017年3月31日39 / 40 谢谢! (AUST)2017年3月31日40 / 40