用R语言计算多水平之间的相关性

Python025

用R语言计算多水平之间的相关性,第1张

先把整个数据读进来,比如赋值给data。data第一列是A1,A2什么的。

A<-as.matrix(data[grep("A",data[,1]),-1])

B<-as.matrix(data[grep("B",data[,1]),-1])

correlation.matrix<-matrix(nrow=nrow(A),ncol=nrow(B))

for(i in 1:nrow(A))

    for(j in 1:nrow(B))

        correlation.matrix[i,j]<-cor(A[i,],B[j,])

结果就在correlation.matrix里了

成分分析和探索性因子分析是两种用来探索和简化多变量复杂关系的常用方法。

主成分分析(PCA)是一种将数据降维技巧,它将大量相关变量转化成一组很少的不相关变量,这些无相关变量称为主成分。

探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法。

R基础安装包提供了PCA和EFA的函数,分别是princomp()和factanal()。本章重点介绍psych包中提供的函数,该包提供了比基础函数更丰富和有用的选项。

最常见步骤

1、数据预处理,在计算前请确保数据没有缺失值;

2、选择因子模型,是选择PCA还是EFA,如果选择EFA,需要选择一种估计因子模型,如最大似然法估计;

3、判断要选择的主成分/因子数目;

4、选择主成分/因子;

5、旋转主成分/因子;

6、解释结果;

7、计算主成分或因子得分。

加载psych包

library(ggplot2)

library(psych)

展示基于观测特征值的碎石检验、根据100个随机数据矩阵推导出来的特征值均值、以及大于1的特征值准则(Y=1的水平线)

fa.parallel(USJudgeRatings[, -1], fa = "pc", n.iter = 100, show.legend = FALSE, main = 'Scree plot with parallel analysis')

对数据USJudgeRatings进行主成分分析

pc<-principal(USJudgeRatings[, -1],nfactors=1)

pc