library(vegan)
otu_table.csv <- read.csv("C:/Users/baixin/Desktop/data_nmds.csv",header = T,row.names = 1,check.names=FALSE)
#check.names=FALSE,防止把数值列名转换成添加字母的形式,row.name=1,规定首列为行名,header = T首行为列名
#View(otu_table.csv)#Seeing the data by the type of table.以表格形式查看
#otu_table.csv#输出台查看
otu_transition <- data.frame(t(otu_table.csv))#将OTU 丰度表转换为需要的格式,otu正常为首行表示样本名称,首列表示多个样本检测指标名称
#View(otu_transition)
#otu_transition
#样本分组文件
group <- read.csv("C:/Users/baixin/Desktop/groups.csv")#读入分组文件
#View(group)##PERMANOVA 分析(所有分组间比较,即整体差异)
#(2)若是使用 OTU 丰度表,则需要在计算时指定所依据的距离类型,这里依然使用 Bray-Curtis 距离
adonis_result_otu_transition <- adonis2(otu_transition ~ site, group, permutations = 999, distance = 'bray',by="margin")
#这条命令的详情和上述命令所表示的信息一致,表中必须全为数值,不能有一行或列全为0,by="margin"表示变量排列顺序对判断无关
#adonis_result_otu_transition#可选输出
otuput <- data.frame(adonis_result_otu_transition, check.names = FALSE, stringsAsFactors = F)
if (otuput[1,'Pr(>F)'] <= 0.001) otuput[1, 'SIG'] <- '***' else if (otuput[1,'Pr(>F)'] <= 0.01) otuput[1, 'SIG'] <- '**' else if (otuput[1,'Pr(>F)'] <= 0.05) otuput[1, 'SIG'] <- '*'
otuputwrite.csv(otuput,"C:/Users/baixin/Desktop/otuput.csv")##PERMANOVA 分析(使用循环处理,进行小分组间比较,如两组间)
#推荐使用 OTU 丰度表作为输入数据,每次筛选分组后重新计算样本距离,避免由于样本数减少可能导致的距离变动而造成误差
group_name <- unique(group$site)#判定一共分为几组,得到组名附值给group_name
#group_name#输出“b”,“a”,“c”
adonis_result_two <- NULL
for (i in 1:(length(group_name) - 1)) {#从范围中选择i和jfor (j in (i + 1):length(group_name)) {group_ij <- subset(group, site %in% c(group_name[i], group_name[j]))#选择两个分组otu_ij <- otu_transition[group_ij$yangdian, ]#group_ij$yangdian将行名符合group_ij的数据提取出来赋值给otu_ijadonis_result_otu_ij <- adonis2(otu_ij~site, group_ij, permutations = 999, distance = 'bray',by="margin")#随机置换检验 999 次adonis_result_two <- rbind(adonis_result_two,c(paste(group_name[i], group_name[j], sep = '/'), '以Bray-Curtis比较', unlist(data.frame(adonis_result_otu_ij, check.names = FALSE)[1, ])))}
}
#View(otu_ij)
#可选标记 “*” 显著性,nrow(adonis_result_two)表示adonis_result_two数量
#'Pr(>F)'需要在输出控制台复制,不同版本可能表达不同,
adonis_result_two <- data.frame(adonis_result_two,check.names = FALSE, stringsAsFactors = F)
for (i in 1:nrow(adonis_result_two)) {if (adonis_result_two[i, 'Pr(>F)'] <= 0.001) adonis_result_two[i, 'SIG'] <- '***'else if (adonis_result_two[i, 'Pr(>F)'] <= 0.01) adonis_result_two[i, 'SIG'] <- '**'else if (adonis_result_two[i, 'Pr(>F)'] <= 0.05) adonis_result_two[i, 'SIG'] <- '*'
}#此段代码只能放在上一行转置代码后
adonis_result_two
write.csv(adonis_result_two ,"C:/Users/baixin/Desktop/output_two.csv")

使用R语言进行perMANVOA分析NMDS结果多个分组之间显著性相关推荐

  1. R语言亚组分析 (Subgroup Analysis)及森林图绘制实战

    R语言亚组分析 (Subgroup Analysis)及森林图绘制实战 目录 R语言亚组分析 (Subgroup Analysis)及森林图绘制实战 #亚组分析

  2. R语言伪相关性分析(Spurious Correlation)、相关关系不是因果关系:以哺乳动物数据集msleep为例

    R语言伪相关性分析(Spurious Correlation):相关关系不是因果关系.相关关系不是因果关系.相关关系不是因果关系 #correlation doesn't means causatio ...

  3. R语言伪相关性分析(Spurious Correlation)、相关关系不是因果关系:以缅因州离婚率数据集为例

    R语言伪相关性分析(Spurious Correlation).相关关系不是因果关系:以缅因州离婚率数据集为例 #correlation doesn't means causation 目录

  4. R语言构建生存分析(survival analysis)模型示例

    R语言构建生存分析(survival analysis)模型示例 生存分析处理的是预测特定事件将要发生的时间.它也被称为失败时间分析或死亡时间分析.例如,预测癌症患者存活的天数,或者预测机械系统将要失 ...

  5. pvrect r语言 聚类_技术贴 | R语言——肠型分析:介绍、方法

    点击蓝字↑↑↑"微生态",轻松关注不迷路 导读 2011年,肠型(Enterotypes)的概念首次在<自然>杂志上由Arumugam等[1]提出,该研究发现可以将人类 ...

  6. R语言实现单因素方差分析

    1.方差分析基本原理:是一种分析各类别自变量对数值因变量影响的一种统计方法.自变量对因变量的影响也称为自变量效应.由于影响效应的大小体现为因变量的误差里有多少是由自变量造成的,因此,方差分析通过对数据 ...

  7. R语言逻辑回归预测分析付费用户

    原文链接:http://tecdat.cn/?p=967 对于某企业新用户,会利用大数据来分析该用户的信息来确定是否为付费用户,弄清楚用户属性,从而针对性的进行营销,提高运营人员的办事效率(点击文末& ...

  8. r语言实现关联分析--关联规则挖掘(Apriori算法) (r语言预测学习笔记)

    r语言实现关联分析–关联规则挖掘 关联分析: 引子: 我们一般把一件事情发生,对另一间事情也会产生影响的关系叫做关联.而关联分析就是在大量数据中发现项集之间有趣的关联和相关联系(形如"由于某 ...

  9. R语言灰色关联分析法

    R语言灰色关联分析法 输入数据 数据的标准化/归一化 求灰色系数 求差序列和最大值最小值 求关联系数 计算关联度并排序 所有代码 灰色关联度分析(Grey Relation Analysis,GRA) ...

最新文章

  1. CSDN创始人蒋涛:AI定义的开发者时代
  2. 自然语言处理中文本的token和tokenization
  3. 博士真正搞科研的姿势,是这样的
  4. 用C语言解“支票问题”题
  5. c c mySQL机票设计_期末课程设计之 c++操作mysql完成机票预订系统(vc 6.0配置mysql环境)...
  6. 20172332 2017-2018-2 《程序设计与数据结构》实验三报告
  7. python随机生成定长字符串(转)
  8. Windows下Spring3.x计划任务实现定时备份MySql数据库
  9. html5画电池状态,HTML5的一个显示电池状态的API简介
  10. linux 显卡转码,ffmpeg用GPU转码
  11. 学习php开发步骤,学习php设计模式 php实现模板方法模式
  12. python爬虫从入门到放弃-python 爬虫《从入门到放弃》
  13. 常用的测试用例设计方法有那些?看这一篇就够了
  14. Day 35 年会抽奖 + 抄送列表
  15. html5 下拉按钮样式修改,css和jquery实现的select美化自定义下拉框样式
  16. 单例设计模式(饿汉式VS懒汉式)
  17. 梯度grad公式_FLAC3D梯度计算详解
  18. 安卓开发之视频播放器
  19. 重入锁:ReentrantLock
  20. 作为程序员创业者,来谈一下“老罗与王自如对战”

热门文章

  1. 督办管理系统项目总结
  2. 【大四上学期】过程控制系统课程笔记
  3. PHPStorm 常用 设置配置 和快捷键大全 Win/Mac
  4. 南京大学计算机专业拂晓,南京大学2020年计算机学科录取推免生222人,全部来自211高校...
  5. python画误差棒_Python数据处理从零开始----第四章(可视化)(3)散点图和误差棒...
  6. gdb调试的插件安装——gef插件
  7. 2021年秋招面经分享·地平线【芯片设计研发工程师】
  8. 【心理学】情感心理学-当代思想和传统思想的碰撞(本篇文章将不定期持续更新)
  9. Redis:只刷面试题,怎可能进大厂,多理解原理(Redis的服务器)
  10. Tp5 实现 think-queue 队列操作