做芯片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. Spring boot 读取resource目录下的文件

    背景:最近做项目重构将以前的ssh + angular js架构,重构为spring boot + vue.项目是一个数据管理平台,后台涉及到多表关联查询,数据导入导出等. 问题:读取resource ...

  2. koa 路由、视图模块化(二)

    1.项目目录 2.路由 根目录/routes/index.js -- 首页 const router = require('koa-router')(); router.get('/', async ...

  3. Selenium2Library测试web

    Selenium 定位元素 ▲ Locator 可以id或name来用定位界面元素 也可以使用XPath或Dom,但是,必须用XPath=或Dom=来开头 ▲ 最好使用id来定位,强烈建议强制要求开发 ...

  4. 改变HTML样式

    HTML DOM 允许 JavaScript 改变 HTML 元素的样式.如何改变 HTML 元素的样式呢? 语法: Object.style.property=new style; 注意:Objec ...

  5. 警告(alert)、确认(confirm)

    我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字.如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的. 语法: alert(字符串或变量);注:a ...

  6. Appium移动自动化测试(三)之元素定位

    实验简介 做过UI自动化(web自动化, 移动自动化)的同学都会知道, 除去框架的选型和搭建以外, 落到实处的对元素进行定位就成了最重要的技能. 做过UI自动化的同学会知道, 对页面元素的定位方式有8 ...

  7. C#连接内存数据库redis【1、Redis存读取数据】

    这一节演示下载.NET中怎样使用Redis存储数据.在.net中比较常用的客户端类库是ServiceStack,看下通过servicestack怎样存储数据. DLL下载:https://github ...

  8. layui 常用确认框、提示框 demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  9. Java 程序员必备的 Intellij IDEA 插件

    以下是我用过不错的Intellij插件,分享给大家希望能帮到大家. 1. ignore 地址: https://plugins.jetbrains.com/plugin/7495--ignore 生成 ...

  10. OpenCV阈值化处理

    图像的阈值化就是利用图像像素点分布规律,设定阈值进行像素点分割,进而得到图像的二值图像.图像阈值化操作有多种方法,常用方法有经典的OTSU.固定阈值.自适应阈值.双阈值及半阈值化操作.这里对各种阈值化 ...