14、PCA分析

芯片PCA分析实践

  做芯片PCA主成分分析可以选择使用affycoretools包的plotPCA方法,以样品"GSM363445_LNTT.CEL""GSM362948_LTT.CEL""GSM363447_LNTT.CEL""GSM362949_LTT.CEL""GSM363449_LNTT.CEL""GSM362947_LTT.CEL"为例:

 

library(affy)

library(affycoretools)

rawData<-ReadAffy("GSM363445_LNTT.CEL","GSM362948_LTT.CEL","GSM363447_LNTT.CEL", "GSM362949_LTT.CEL","GSM363449_LNTT.CEL","GSM362947_LTT.CEL")

plotPCA(exprs(rawData))

 

不过affycoretools包比较大,也可以自行编程而不通过affycoretools

 

library(affy)

rawData<-ReadAffy("GSM363445_LNTT.CEL","GSM362948_LTT.CEL","GSM363447_LNTT.CEL","GSM362949_LTT.CEL","GSM363449_LNTT.CEL","GSM362947_LTT.CEL")

 

x <- t(exprs(rawData)[apply(exprs(rawData),1,function(r) {sum(is.na(r))==0}),])

x <- as.matrix(x)

x <- scale(x, center = T, scale = FALSE) ## arrayanalysisPCA会默认scale = TRUE

s <- svd(x, nu = 0) ## svd奇异值分解,不需要计算u

pca1 <- list(sdev = s$d, rotation = s$v)

pca1$x <- x %*% s$v

 

plot(pca1$x[,1],pca1$x[,2],col=c(1:6)) 

legend("topleft",legend=sampleNames(rawData), lwd=1, col=c(1:6))

 

 

可看到两段代码的结果是一样的

 

转载于:https://www.cnblogs.com/xianwen/p/4522383.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值