楼主: FLOWER370
8073 24

[问答] 如何用R打开并横向合并多个cel文件? [推广有奖]

11
jiangbeilu 学生认证  发表于 2016-3-27 11:08:25
FLOWER370 发表于 2016-3-27 10:59
额。。好吧。那能和我说说如何分批次读取27个cel文件吗?我用data
list.files()会用的话,会有一串文件名,你在read里放单个文件名就好了啊。
filename作为循环。

12
jiangbeilu 学生认证  发表于 2016-3-27 11:09:00
FLOWER370 发表于 2016-3-27 10:59
额。。好吧。那能和我说说如何分批次读取27个cel文件吗?我用data
不需要用dir()的。

13
FLOWER370 发表于 2016-3-27 19:09:22
jiangbeilu 发表于 2016-3-27 11:09
不需要用dir()的。
library(Biobase)
library(BiocGenerics)
library(affy)
library(limma)
filename = list.files("CCLEpaxOVrna")
data<-ReadAffy(./CCLEpaxOVrna/1.CEL")
for (i in 2:length(filename){ newdata <-ReadAffy(filenames=filename)}
df<-merge(data,newdata)
mode(df)
aaa<-rma(df)
aa2<-exprs(aaa)
head(aa2)

design <- model.matrix(~ -1+factor(c(1,1,1, 2,2,2)))
colnames(design) <- c("control", "LPS")
fit <- lmFit(eset2, design)
contrast.matrix <- makeContrasts(control-LPS, levels=design)
fit <- eBayes(fit)
fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)
results<-decideTests(fit2, method="global", adjust.method="BH", p.value=0.01, lfc=1.5)
summary(results)

大神,这个是我用的代码,可还是不对呀。电脑卡了一下午,

14
jiangbeilu 学生认证  发表于 2016-3-28 10:04:45
  1. filename = list.files("CCLEpaxOVrna")
复制代码

这个里面有什么?
可以展示一下否?
记得,刚开始学的时候,要体会每一步代码的具体功能,能实现什么,照抄别人的代码,不思考,永远也成长不了。

15
FLOWER370 发表于 2016-3-28 10:33:52
jiangbeilu 发表于 2016-3-28 10:04
这个里面有什么?
可以展示一下否?
记得,刚开始学的时候,要体会每一步代码的具体功能,能实现什么, ...
CCLEpaxOVrna这个是我在CCLE上下载的肿瘤细胞的数据,全是cel格式的文件。整个代码运行以后的结果是这样的。ename = list.files("CCLEpaxOVrna")
> filename
[1] "1.CEL"  "10.CEL" "11.CEL" "12.CEL" "13.CEL" "14.CEL" "15.CEL" "16.CEL"
[9] "17.CEL" "18.CEL" "19.CEL" "2.CEL"  "20.CEL" "21.CEL" "22.CEL" "23.CEL"
[17] "24.CEL" "25.CEL" "26.CEL" "27.CEL" "3.CEL"  "4.CEL"  "5.CEL"  "6.CEL"
[25] "7.CEL"  "8.CEL"  "9.CEL"

16
jiangbeilu 学生认证  发表于 2016-3-28 10:41:48
  1. data<-ReadAffy(./CCLEpaxOVrna/1.CEL")
复制代码

少引号。
换成:
  1. data<-ReadAffy(filename[1])
复制代码

17
FLOWER370 发表于 2016-3-28 21:30:37
jiangbeilu 发表于 2016-3-28 10:41
少引号。
换成:
大神,不好意思,昨天电脑坏了,送去升级了,今天才看到。以下是我改进的代码,然并卵。读出来的数据不对呀,我明明有27个数据,为啥只有两个出结果了?
filename = list.files("CCLEpaxOVrna")
filename[1]
data = ReadAffy(filenames=filename[1] )
for (i in 2:length(filename)){ new.data = ReadAffy(filenames = filename)}
df = merge(data,new.data)
aaa<-rma(df)
aa2<-exprs(aaa)
head(aa2)

18
FLOWER370 发表于 2016-3-28 21:31:37
jiangbeilu 发表于 2016-3-28 10:41
少引号。
换成:
这个是我读出来的结果,只有两个数据,不对呀。。
> aa2<-exprs(aaa)
> head(aa2)
              1.CEL     9.CEL
1007_s_at 10.378472 10.675637
1053_at    9.687924  8.148488
117_at     3.847651  3.815245
121_at     9.799866 11.288003
1255_g_at  3.616712  3.557346
1294_at    4.957103  5.009558

19
FLOWER370 发表于 2016-3-28 21:37:55
jiangbeilu 发表于 2016-3-28 10:41
少引号。
换成:
如果data = ReadAffy(filenames=filename )我这么读的话,能一下独处27个数据,如下,这样一下读出来的数据和merge合并以后的数据有什么不一样么?我用直接一下独处27个数据这种做法,也不对,说和affybatch不匹配。网上说affybatch是GSE470d的R格式的和数据?去哪里下载呀?可以用R下载吗?

20
FLOWER370 发表于 2016-3-28 22:40:11
FLOWER370 发表于 2016-3-28 21:37
如果data = ReadAffy(filenames=filename )我这么读的话,能一下独处27个数据,如下,这样一下读出来的数 ...
affybatch这个我知道了。
source("http://bioconductor.org/biocLite.R")
biocLite("ArrayExpress")
library(ArrayExpress)
AEset<-ArrayExpress(“  geo。。。 ”)
save(AEset, file=”AEset.RData”)
AEset; pData(AEset); colnames(pData(AEset))
但是我的27个cel文件还是不会读。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 16:26