美文网首页宏基因扩增子分析16S和宏基因组
16S测序分析(五)用RandomForest寻找关键细菌

16S测序分析(五)用RandomForest寻找关键细菌

作者: 胡童远 | 来源:发表于2019-11-07 19:53 被阅读0次

    导读

    用随机森林“分类”的方法寻找16S测序数据中与分组有关的细菌。

    一、数据准备

    1. 标准化细菌丰度表
    2. 格式要求:不用放样本ID;最后一列放分组变量
    图片.png

    二、R分析准备

    install.packages("randomForest ")  ##  下载安装randomForest包
    
    library(randomForest)  ##  加载randomForest包
    library(openxlsx)
    
    setwd("C:/mywd")
    getwd()
    workbook <- "C:/mywd/randomforest.xlsx"  ## 读取数据表
    
    mydataframe <- read.xlsx(workbook, 1)  ## 读取表单1
    mydataframe$Groups = factor(mydataframe$Groups)  ## 把分组变量设为因子
    
    set.seed(430)
    # 设置随机数种子保证结果可重复
    
    

    三、随机森林分类

    Groups.rf = randomForest(Groups ~ ., data=mydataframe, ntree=500, importance=TRUE, proximity=TRUE)
    # importance:是否输出因变量在模型中的重要性
    # proximity: 是否计算模型的临近矩阵
    # ntree:设定随机森林的树数, 越大,模型效果会有提升,但计算量会变大
    # 默认使用500个树
    
    print(Groups.rf)
    
    
    图片.png

    四、输出结果

    data <- round(importance(Groups.rf), 2)
    #  查看每个变量的分类贡献度,保留两位小数
    
    write.xlsx(data, file="data_rf.xlsx")
    # 保存结果
    
    

    打开结果文件data_rf.xlsx,查看如下:

    图片.png

    五、结果可视化

    varImpPlot(Groups.rf)
    
    
    图片.png

    相关阅读:
    16S测序分析(一)菌属丰度表获取
    16S测序分析(二)菌群多样性分析
    16S测序分析(三)用LEfSe寻找组间差异细菌
    16S测序分析(四)用MaAsLin寻找组间差异细菌
    16S测序分析(五)用RandomForest寻找关键细菌
    16S测序分析(六)用PICRUSt预测菌群KEGG代谢通路

    相关文章

      网友评论

        本文标题:16S测序分析(五)用RandomForest寻找关键细菌

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