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

导读

用随机森林“分类”的方法寻找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寻找关键细菌)