美文网首页
【R语言】百分比表格删除两行重新计算百分比

【R语言】百分比表格删除两行重新计算百分比

作者: 生信交流平台 | 来源:发表于2021-06-08 21:17 被阅读0次

    好不容易算好的每个样本中检测到的微生物的百分比含量

    发现前面两行一个是没有分类的类型,另外一个是无法比对到微生物物种上的。这两行需要删掉,这样每个样本中微生物的占比就需要重新计算了。删除之前,每个样本中微生物的占比为

    下面我们用两种方法来实现

    一、使用apply函数

    #读入数据
    a <- read.table(file="sample_bacteria_percentage.txt",sep="\t",header=T,row.names=1)
    #删除前两行
    b=a[-(1:2),]
    #利用apply函数对列做处理,除以每列之和
    result <- apply(b,2,function(x)x/(sum(x))*100)
    #检查每列之和是不是100%
    colSums(result)
    #数据导出
    write.table(result,file="remove_recal_percent1.txt",sep="\t",quote=F)
    

    二、使用前面讲到过的R中的sweep函数

    #读入数据
    a=read.table("sample_bacteria_percentage.txt",header=T,sep="\t",row.names=1)
    #删除前两行
    b=a[-(1:2),]
    #每个元素除以每列之和
    result=sweep(b,2,colSums(b),"/")*100
    #检查每列之和是不是100%
    colSums(result)
    #保存结果
    write.table(file="remove_recal_percent2.txt",result,quote=F,sep="\t")
    

    删除前两列之后,我们在来看一下每个样本中微生物的占比

    获取all_pool_species_sample.txt文件

    相关文章

      网友评论

          本文标题:【R语言】百分比表格删除两行重新计算百分比

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