美文网首页R生物信息学R语言源码
R语言:多文件读取、多目录保存

R语言:多文件读取、多目录保存

作者: 胡童远 | 来源:发表于2020-02-22 18:30 被阅读0次

导读

一个丰度表:含每个样品中每个bin的丰度。
多个基因表:每个bin的基因list。
需求:计算每个样品中每个bin中的基因丰度。

一、读取丰度表

# 获取bin(样品)丰度的文件
abun=read.table("Bin_all/Bin_quant/bin_abundance_table.txt", header=T, sep="\t")

二、读取bin基因表

list.files:定位所需文件
strsplit(files[i], split=".gene.txt"):切割字符串
ml[[i]]=read.table():列表存放数据框

# 获取bin文件名
setwd("Bin_all/Bin_prokka/prokka_out_table")

files=list.files(pattern="bin.*.gene.txt") # 读取所有文件的全名,含后缀

name=vector()
for(i in 1:length(files))
{
    name[i]=as.character(strsplit(files[i], split=".gene.txt")) # 批量提取文件名
}

ml=list() # 创建一个新列表,存放每个数据框的数据

for(i in 1:length(files))
{
    ml[[i]]=read.table(files[i], sep="\t", na.string="", stringsAsFactors=F, header=T, quote="", comment.char="") # 读取所有数据框
}

三、创建结果文件夹

dir.create():创建文件夹

# 创建结果文件夹
fold=colnames(abun)
for(i in 2:length(fold))
{
    dir.create(fold[i])
}

四、计算每个样品中每个基因的丰度、保存到相应的文件夹

write.table(file, file=file.path(route, name)):向量作为路径

# 计算每个样品中每个Bin中每个基因的丰度
rownames(abun)=abun[,1]
for(i in 2:length(fold)) # 样品
{
    for(j in 1:length(name)) # Bin
    {
        # 计算基因丰度
        result=data.frame()
        abun_gene=vector()
        abun_gene=ml[[j]]$number*abun[name[j], fold[i]]
        result=data.frame(ml[[j]], abun_gene)
        write.table(result, file=file.path(fold[i], name[j]), sep="\t", quote=F, row.names=F)
    }
}

\color{green}{😀😀原创文章,码字不易,转载请注明出处😀😀}

相关文章

  • R语言:多文件读取、多目录保存

    导读 一个丰度表:含每个样品中每个bin的丰度。多个基因表:每个bin的基因list。需求:计算每个样品中每个bi...

  • R语言_文件读取与保存

    把外部数据读入R语言里以及在R语言处理的数据导出,怎么操作以及注意哪些细节: 1.认识csv格式2.认识分隔符3....

  • 9.R中数据的导入和导出

    一、工作空间 工作空间是R用来读取文件和保存整个结果的默认目录。R对工作空间自动保存了两个隐藏文件:.RData和...

  • R语言学习笔记(一)

    1. getwd() 描述打印当前的工作目录(working directory),是R用来读取文件和保存结果的默...

  • Go语言:文件追加内容

    代码实例 相关文章 Go语言:获取某个目录下的所有文件 Go语言:读取文本文件并输出内容 Go语言:将字符串保存成...

  • Go语言:将字符串保存成文件

    代码实例 相关文章 Go语言:获取某个目录下的所有文件 Go语言:读取文本文件并输出内容 Go语言:将字符串保存成...

  • 3D轨迹动画 R语言rayshaderanimate包

    video_animation3D轨迹动画 R语言rayshaderanimate包R语言读取gpx文件

  • 算法技术面

    . R语言的文件读取:csv文件的读取方式(read.csv),txt文件的读取方式(read.table) 2....

  • R语言读取文件(一)2021.2.21

    R语言在处理过程中大致都经历着从读入文件-->代码运算-->将结果文件保存。首先我们就要学会如何读取各式各样的文件...

  • Rstudio 常用命令

    R 语言的著名的开发应用Rstudio常用的命令行命令: 1. 读取和改变目录 dir():列出当前目录下的文件,...

网友评论

    本文标题:R语言:多文件读取、多目录保存

    本文链接:https://www.haomeiwen.com/subject/wptrqhtx.html