做芯片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) ## arrayanalysis的PCA会默认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))

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

14、PCA分析的更多相关文章

  1. 利用pca分析fmri的生理噪声

    A kernel machine-based fMRI physiological noise removal method 关于,fmri研究中,生理噪声去除的价值:一.现在随着技术的提升,高场fm ...

  2. plink 进行PCA分析

    当我们进行群体遗传分析时,得到vcf后,可利用plink进行主成分(PCA)分析: 一.软件安装 1 conda install plink 二.使用流程 第一步:将vcf转换为plink格式 1 p ...

  3. tornado学习笔记14 HTTP1ServerConnection分析

            代表HTTP/1.x 类型的服务器连接,负责处理HTTP/1.x类型的请求. 14.1 构造函数 def __init__(self, stream, params=None, con ...

  4. <转> 纸牌屋1-4集分析

    原文:http://blog.sina.com.cn/s/blog_b86c61490102v56t.html 第一季第一集 主人公弗兰克的出场,是以对待一只邻家将死之狗的态度展开的,充分显示了主人公 ...

  5. [Mugeda HTML5技术教程之14]案例分析:制作网页游戏

    本文档要分析的案例是一个爱消除的网页小游戏,从中可以体会一些Mugeda API的用法和使用Mugeda动画制作网页游戏的方法. (一)游戏规则: 1.开始游戏时,手机出现在最上面一行的任意一格: 2 ...

  6. PCA分析和因子分析

    #由此说明使用prcomp函数时,必须使用标准化过的原始数据.如果使用没有标准化的raw数据(不是相关系数矩阵或者协方差矩阵),必须将参数scale. = T <result>$sdev ...

  7. PCA分析的疑问

    R 与python scikit-learn PCA的主成分结果有部分是反的 通过R和python分别计算出来的PCA的结果存在某些主成分的结果是相反的,这些结果是没有问题的,只是表示这个分量被反转了 ...

  8. python学习笔记(14):可视化分析

    一.Matplotlib 1.用于创建出版质量图表的绘图工具库 2.目的的为Python构建一个Matlab式的绘图接口 3.import matplotlib.pyplot as plt:pyplo ...

  9. PCA分析,及c++代码实现

    本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fengbingchun/article/details/79235028 主成分分析(Principal Co ...

随机推荐

  1. linux命令---vi编辑器快速定位行数

    linux命令—vi编辑器快速定位行数.删除当前行.和删除当前行后面的全部内容 1.vi 编辑器如何快速定位到第N行 命令方式下 :n http://bbs.chinaunix.net/thread- ...

  2. rocketmq的生产者生产消息

    package com.bfxy.rocketmq.model; import org.apache.rocketmq.client.exception.MQClientException;impor ...

  3. 最少步数&P1443 马的遍历

      1330:[例8.3]最少步数 s数组:记录(1,1)到达每一点需要的最少步数 s[1][1]自然为 0,其余初始化为 -1 que数组:que[#][1] 表示(1,1)可到达点的 x 坐标 q ...

  4. Linux下深度学习常用工具的安装

    .Matlab 2015 64bit 的安装 (一)安装包下载 百度网盘: [https://pan.baidu.com/s/1gf9IeCN], 密码: 4gj3 (二)Vmware 使用Windo ...

  5. LC 535. Encode and Decode TinyURL

    Note: This is a companion problem to the System Design problem: Design TinyURL. TinyURL is a URL sho ...

  6. springboot2.0+线程池+Jmeter以模拟高并发

    声明:原创在这里https://blog.csdn.net/u011677147/article/details/80271174,在此也谢谢哥们. 1.目录结构 2.BusinessThread.j ...

  7. firefox浏览器插件---网址优化

    安装:YSlow插件 之后还必须安装firebug.否则YSlow不能使用. 安装:firebug 下面就可以了

  8. python去掉空格和 b

    直接看下面实例: In [52]: output=subprocess.check_output(["head -c 16 /dev/urandom | od -An -t x | tr - ...

  9. 14 count(*)

    14 count(*) count(*)实现方式 首先要声明,在不同的mysql引擎中,count(*)有不同的实现方式. --myisam引擎把一个表的总行数存在了磁盘,因此执行count(*)的时 ...

  10. Python:Base3(函数,切片,迭代,列表生成式)

    1.Python之调用函数: Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数 abs,它接收一个参数. 可以直接从Python的官方 ...