【R语言】机器学习之随机森林--微生物组数据作为模型输入

输入数据处理

由于样本量大不能直接用EXCEL打开,选择使用R进行初步的数据处理,得到符合模型输入的数据

将ASV表转置:

input='asv_table.rename.txt'
df<-read.delim(input,header = T,row.names = 1,check.names=F)
dt <- t(df)
write.csv(dt, "asv_table.rename_t.csv")

将标签插入到转置后的ASV表中

准备标签文件group(三种标签):
在这里插入图片描述

#读入标签
group <- read.csv("asv_table.rename.group.csv",header = T,row.names = 1,check.names=F)
merged <- cbind(dt, group)   #将dt与group合并
merged <- cbind(dt, group$HD)#将dt与group中的HD列合并
write.csv(merged, "asv_table.rename_t.lable.csv")

参考:R语言把几列数据合并

作为模型输入读入后,删除其他标签

虽然建模时可以选择哪一列作为标签,那些列作为自变量,但由与ASV数量较多,选取时操作不够简便,故直接删除掉用不到的标签

library(dplyr)
data <- read.csv('asv_table.rename_t.lable.csv',header=T, row.names = 1)
#按列名删除多列-使用dplyr中的select函数
data <- select(data,-c(Location,Time)) #以HD作为标签

参考:R语言删除矩阵指定列

随机森林建模

先不使用十折交叉验证-先建一个模型

RF <- randomForest(HD~.,data,importance=T,ntree=1500,mtry=13)

。。。未完待续

猜你喜欢

转载自blog.csdn.net/weixin_48076899/article/details/135533028