全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6869 3
2015-11-09
基因测序或表达水平的原始数据通常是按照统一格式整理成一个个体一个文件,分析这些数据之前,通常需要把这些“个体文件”合并成一个文件。或者有时候并不想合并每个个体的所有数据,而只是选择性地合并特定的数据。当然该问题并不仅限于测序或基因表达水平数据,比如多年累计的医院个体电子病例数据,等等

传统的一个一个文件合并通常费时费力,还可能出错,此时批量合并这些文件就显得比较重要。下面简单介绍基于R的批量合并多个相同格式文件的方法。

程序如下:

复制代码


如果大家有更好、更简便的方法,或者更好的示例说明如何处理类似问题,欢迎跟帖,^_^

二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-9 19:53:33
# 注意这个目录下只有txt文档
filename=list.files()
# 用sapply读取
zz<- sapply(filename,function(x) read.table(x,head=T) )
# 合并文件
mergedata = do.call("rbind",zz)
二维码

扫码加我 拉你入群

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

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

2018-1-4 23:49:07
setwd("E:/ccstest/R")                                                                    #设定工作目录为D盘
> a = list.files("data")                                                       #list.files命令将input文件夹下所有文件名输入a
> dir = paste("./data/",a,sep="")                                      #用paste命令构建路径变量dir
> n = length(dir)                                                                 #读取dir长度,也就是文件夹下的文件个数
> merge.data = read.csv(file = dir[1],header=T,sep=",")   #读入第一个文件内容(可以不用先读一个,但是为了简单,省去定义data.frame的时间,我选择先读入一个文件。
> for (i in 2:2){
+     new.data = read.csv(file = dir[i], header=T, sep=",")
+     merge.data = rbind(merge.data,new.data)
+ }
>
> #循环从第二个文件开始读入所有文件,并组合到merge.data变量中
> write.csv(merge.data,file = "./data/merge.csv",row.names=F)  #输出组合后的文件merge.csv到input文件夹
二维码

扫码加我 拉你入群

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

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

2018-1-4 23:49:55
ccs0531 发表于 2018-1-4 23:49
setwd("E:/ccstest/R")                                                                    #设定工作目 ...
D 换成E ,input换成data
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群