R语言做主成分分析问题

Python016

R语言做主成分分析问题,第1张

princomp(x, cor = FALSE, scores = TRUE, covmat = NULL,

         subset = rep_len(TRUE, nrow(as.matrix(x))), ...)

当cor = TRUE是使用相关系数矩阵计算

当cor = FALSE是使用协方差矩阵计算

用相关系数矩阵计算就相当于先标准化,在进行主成分分析

用协方差矩阵计算就是不进行标准化

princomp是R语言默认就有的,不需要用别的包,用别的包参数设置原理也应该相同的。

问题1:代码如下

#b为新建立的0矩阵,a为原始数据矩阵,读取文件test.txt的数据

a<- as.matrix(read.table("test.txt"))

b<- matrix(0,nrow=ncol(a),ncol = ncol(a))

for(n in i : nrow(a))

{

for(i in 1 :ncol(a))

{

if(a[n,i] == 1)

{

for( j in 1 :ncol(a))

{

if(a[n,j] == 1 &&i!= j)

{

b[i,j] = b[i,j]+1

}

}

}

}

}

#结束

新矩阵是b

问题2:

k <- 3 #设定聚类数

a<- read.table("test.txt"))#读入数据

cl <- hclust(dist(a),method="single") #设定聚类方法

memb <- cutree(cl, k=k) #分割聚类数

memb是类别标记

至于聚类分析图,我不知道什么意思。