exp = read.table('exp.txt', header = TRUE ,sep = '\t' )
require(graphics)#调用PCA画图的包
#做PCA时,不要行名称所以从第二列开始
PCA1 = princomp(exp[,2:(dim(exp)[2]-1)] )
summary(PCA1)
pc = loadings(PCA1)
Comp.1 = PCA1$loadings[,1]
Comp.2 = PCA1$loadings[,2]
plot(Comp.1,Comp.2 ,col = c('red','red','red','green','green','green','blue','blue','blue'))
#此数据分为三组,所以我画了不同的颜色。
#这是做PCA以及画图的简单流程,供参考!
我也想问下,这是这周BNU的非参作业吧= =comp <- sample(c(0, 5), size = 1000, prob = c(0.6, 0.4), replace = T)
x=rnorm(1000, mean = ifelse(comp == 0, 0, 5), sd = ifelse(comp == 0, 1, 0.2^0.5))
require(boot)
median.boot<-function(x,ind){median(x[ind])}
boot(x,median.boot,1000)
中位数就把mean改成median~
是不一样啊,主成分分析主要运算是求矩阵的特征值和特征向量。cor=T时,输入矩阵为相关系数矩阵,每个元素是0<=x<=1的,对角线为1;
cor=F时,输入矩阵为协方差矩阵,对角线为每个变量的方差;
默认是cor=F的,
而相关系数矩阵就相当于先将数据标准化,然后再求协方差矩阵。
即:先将数据标准化,两种方式才是相同的。否则,cor=T比cor=F相当于多一个标准化过程。