楼主: FLOWER370
8066 24

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

  • 1关注
  • 0粉丝

高中生

50%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
230 点
帖子
26
精华
0
在线时间
21 小时
注册时间
2015-10-27
最后登录
2016-5-25

楼主
FLOWER370 发表于 2016-3-27 10:02:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
cel文件为1-27的命名顺序。以下是我的程序代码,但总是出现错误,在做毕业专题,第一次用R语言,希望大神能帮我看看是哪里出的问题。谢谢!
data <- ReadAffy(file = dir[i], header=T, sep="\t")
for (i in 2:n){ new.data = ReadAffy(file = dir[i], header=T, sep="\t")
mode(data)
rma(data)
aaa<-rma(data)
aa2<-exprs(aaa)
head(aa2)
data = merge(data,new.data)}

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:cel 如何用 Data 程序代码 R语言 如何

沙发
FLOWER370 发表于 2016-3-27 10:03:58
出现的错误如下:
错误: file names must be specified using a character vector, not a ‘list’

藤椅
jiangbeilu 学生认证  发表于 2016-3-27 10:17:06
你的dir下面是一个目录,有很多文件,ReadAffy一次只能读一个吧。
你的文件名指定错误了。

板凳
FLOWER370 发表于 2016-3-27 10:21:48
jiangbeilu 发表于 2016-3-27 10:17
你的dir下面是一个目录,有很多文件,ReadAffy一次只能读一个吧。
你的文件名指定错误了。
那有什么办法能一次读取多个cel文件吗?我主要是想把27个cel文件横向合并,然后做差异表达分析

报纸
jiangbeilu 学生认证  发表于 2016-3-27 10:26:05
批量用sapply或者你用for循环也可以读很多啊

地板
FLOWER370 发表于 2016-3-27 10:29:19
jiangbeilu 发表于 2016-3-27 10:26
批量用sapply或者你用for循环也可以读很多啊
用for应该怎么用呀?能给个代码吗

7
jiangbeilu 学生认证  发表于 2016-3-27 10:39:25
你这个问题,属于一口想吃成个胖子啊。
你抄了别人的代码,抄完后,要去自己理解,找资料,每一步是什么意思。
给你几个提示函数:
list.files(),sapply,rbind|cbind等等。

8
FLOWER370 发表于 2016-3-27 10:45:01
jiangbeilu 发表于 2016-3-27 10:26
批量用sapply或者你用for循环也可以读很多啊
大神,用for的话是给什么向量赋值呀?读cel文件的话,要怎么插入for去赋值?希望大神不要嫌弃学渣的无知,真的非常感谢~

9
jiangbeilu 学生认证  发表于 2016-3-27 10:52:58
以下是思路:
  1. filename <- list.files()
  2. df <- read....
  3. for (i in 2:length(filename)){
  4. newdf <- read....
  5. df <- merge df newdf
  6. rm(newdf)
  7. ..
  8. }
复制代码

10
FLOWER370 发表于 2016-3-27 10:59:48
jiangbeilu 发表于 2016-3-27 10:39
你这个问题,属于一口想吃成个胖子啊。
你抄了别人的代码,抄完后,要去自己理解,找资料,每一步是什么意 ...
额。。好吧。那能和我说说如何分批次读取27个cel文件吗?我用data<-readaffy().一下就读了27个文件,没法横向合并呀。其他关于list.files和cblind(合并的函数,我用的是merge)之类的,我已经会了。
a = list.files("CCLEpaxOVrna")
dir = paste("./CCLEpaxOVrna/",a,sep="")
n = length(dir)
list应该这么用吧
但把dir(i)和readaffy合用的话我就不会了。一直卡在这里,不知道应该怎么做下去,大神能和我说说嘛

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

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