1、关键点

#典型相关分析#
#典型相关分析是用于分析两组随机变量之间的相关程度的一种统计方法,它能够有效地揭示两组随机变量之间的相互(线性依赖)关系
#例如 研究生入学考试成绩与本科阶段一些主要课程成绩的相关性
#将研究两组变量的相关性问题转化为研究两个变量的相关性问题 此类相关为典型相关#
#总体典型相关
#样本典型相关
#典型相关计算 cancor(x,y,xcenter=TRUE,ycenter=TRUE)
#x,y是相应的数据矩阵 xcenter,ycenter是逻辑变量 TRUE是将数据中心化 FALSE是不中心化

2、典型相关分析的简单步骤:

#1.载入原始数据
#2.原始数据标准化 scale
#3.典型相关分析

3、案例分析

#现对20名中年人测得三个生理指标:体重(X1) 腰围(X2) 脉搏(X3)
#三个训练指标:引体向上(Y1) 起座次数(Y2) 跳跃次数(Y3) 试分析这组数据的相关性

  1. #用数据框的形式输入数据
  2. test<-data.frame(
  3. X1=c(, , , , , , , , , ,
  4. , , , , , , , , , ),
  5. X2=c(, , , , , , , , , ,
  6. , , , , , , , , , ),
  7. X3=c(, , , , , , , , , ,
  8. , , , , , , , , , ),
  9. Y1=c( , , , , , , , , , ,
  10. , , , , , , , , , ),
  11. Y2=c(, , , , , , , , , ,
  12. , , , , , , , , , ),
  13. Y3=c(, , , , , , , , , ,
  14. , , , , , , , , , )
  15. )
  16. #为了消除数量级的影响 将数据标准化处理 调用scale函数
  17. test<-scale(test)
  18. #对标准化的数据做典型相关分析
  19. ca<-cancor(test[,:],test[,:])
  20. #查看分析结果
  21. ca

  1. #计算数据在典型变量下的得分 U=AX V=BY
  2. U<-as.matrix(test[, :])%*% ca$xcoef
  3. V<-as.matrix(test[, :])%*% ca$ycoef
  4. #画出U1、V1和U3、V3为组表的数据散点图
  5. plot(U[,], V[,], xlab="U1", ylab="V1")
  6. plot(U[,], V[,], xlab="U3", ylab="V3"

由散点图可知 第一典型相关变量分布在一条直线附近 ;第三典型相关变量数据很分散。

#典型相关系数的显著性检验
#作为相关分析的目的 就是选择多少对典型变量?因此需要做典型相关系数的显著性检验
#若认为相关系数k为0 就没有必要考虑第k对典型变量了

  1. #相关系数检验R程序
  2. source("E:/R/corcoef.test.R")
  3. corcoef.test(r=ca$cor,n=,p=,q=)

最终程序运行结果显示选择第一对典型相关变量。

  1. orcoef.test<-function(r, n, p, q, alpha=0.1){
  2. #r为相关系数 n为样本个数 且n>p+q
  3. m<-length(r); Q<-rep(, m); lambda <-
  4. for (k in m:){
  5. lambda<-lambda*(-r[k]^); #检验统计量
  6. Q[k]<- -log(lambda) #检验统计量取对数
  7. }
  8. s<-; i<-m
  9. for (k in :m){
  10. Q[k]<- (n-k+-/*(p+q+)+s)*Q[k] #统计量
  11. chi<--pchisq(Q[k], (p-k+)*(q-k+))
  12. if (chi>alpha){
  13. i<-k-; break
  14. }
  15. s<-s+/r[k]^
  16. }
  17. i #显示输出结果 选用第几对典型变量
  18. }

典型相关系数检验 R语言程序  corcoef.test.R  将其保存在计算机的E盘的R文件夹下

R语言 典型相关分析的更多相关文章

  1. R语言中文社区历史文章整理(类型篇)

    R语言中文社区历史文章整理(类型篇)   R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterpl ...

  2. R语言︱情感分析—词典型代码实践(最基础)(一)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:词典型情感分析对词典要求极高,词典中 ...

  3. R语言︱词典型情感分析文本操作技巧汇总(打标签、词典与数据匹配等)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:情感分析中对文本处理的数据的小技巧要 ...

  4. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

  5. R语言函数总结(转)

    R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达 ...

  6. 【R笔记】R语言函数总结

    R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...

  7. R语言笔记完整版

    [R笔记]R语言函数总结   R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头, ...

  8. 【转】R语言函数总结

    原博: R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头, ...

  9. 典型相关分析CCA计算过程

      本文介绍了CCA解决的问题,CCA原理的推导过程,以及对计算结果物理意义的解释.并且通过SPSS和R操作演示了一个关于CCA的例子.数据文件下载参考[8],SPSS输出结果文件下载参考[9],R代 ...

随机推荐

  1. SQL_server 的基本操作

    1.---------------数据库基本操作 主键 : 1.不重复 2.不为NULL外键 1.取消重复行(消除完全一样的行,保留一行)select distinct cloumname1,clou ...

  2. KinSlideshow参数设置说明

    [引用来自:http://blog.sina.com.cn/s/blog_4f4f4a5901014zn1.html] Jquery.KinSlideshow参数设置说明: 附:所有参数列表   in ...

  3. sql脚本的格式

    创建表前先判断是否存在 IF OBJECT_ID(N'TableDataDictionary') IS NULL 存储过程头:--=================================== ...

  4. 初学HTML5系列一:简单介绍

    最近很闲,就想着学点东西,然后就瞄中了html5,以前只看过很简单的一些,这次是系统的学下,顺便也记录下.废话不多说,开始正题. 稍微介绍下html5,html5是W3C和WHATWG 合作的结果. ...

  5. javascript创建对象(二)

    原型模式:每创建一个函数都有一个prototype属性,它是一个指针,指向一个对象: 原型模式创建函数的方式: function Movie(){ }; Movie.prototype.name=&q ...

  6. C#线程池基础

    池(Pool)是一个很常见的提高性能的方式.比如线程池连接池等,之所以有这些池是因 为线程和数据库连接的创建和关闭是一种比较昂贵的行为.对于这种昂贵的资源我们往往会考虑在一个池容器中放置一些资源,在用 ...

  7. java_泛型(2016-11-17)

    没有自己敲,这篇博客讲的不错,直接记录. 犯懒啊 重点关注 T,?以及擦除 Java总结篇系列:Java泛型:http://www.cnblogs.com/lwbqqyumidi/p/3837629. ...

  8. X-Plane飞行模拟资源整理一

    计划开一个博客整理一下飞行仿真软件二次开发的相关内容 预计将陆续介绍X-Plane.Microsoft Flight Simulator.FlightGear三个主流飞行模拟器. 此处为目录(占坑,随 ...

  9. Swift 中的getting和setter的使用

    以下简单的介绍Swift中的getting和setting的使用方法: Xcode version: 6.1 先附代码: class Test { var num1: Double = 0.0 ini ...

  10. 百度地图Api 根据两个坐标点计算距离

    百度地图Android Sdk的Api里面,没有现成的直接获取两个坐标点之间距离的方法,但是,在jsapi里面,有直接计算距离的方法. class Point: pass def max(a,b): ...