R循环读取文件并进行列合并,批处理

首先批量为每个文件加列名称

a = list.files()

dir = paste("./",a,sep="")

n = length(dir)

for (i in 1:n){

  new_data = read.csv(file = dir[i],sep=";",header=F)

  colnames(new_data)=c("genus","tpm")

  write.table(new_data,a[i],sep = ";",quote = F,col.names = T,row.names = F)

}

使用dplyr包的full_join函数进行Merge

full_join函数可使用R base里的merge函数进行替换

merge_data = read.csv(file = dir[1],sep=";",header=T)

for (i in 2:n){

  new_data = read.csv(file = dir[i],sep=";",header=T)

  merge_data = full_join(merge_data,new_data,by = "genus")

}

替换R中默认的NA为0

merge_data[is.na(merge_data)]=0

写入文件,;进行分割,去掉“”,行名列名称不使用

write.table(merge_data,"merge_1_50",sep = ";",quote = F,col.names = F,row.names = F)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,212评论 0 13
  • http://blog.sina.com.cn/s/blog_6bc5205e0102vma9.html inst...
    付德刚Q阅读 8,254评论 0 3
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,174评论 0 2
  • library(pheatmap) data<- read.table("new 1.txt",header = ...
    Weiyx阅读 3,878评论 0 0
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,178评论 0 10

友情链接更多精彩内容