微生物生态排序分析——CCA分析

微生物生态排序分析——CCA分析微生物生态排序分析 CCA 分析 library vegan library ggplot2 library permute library lattice sa4 read table spes csv header T row names 1 sep S8 p read table S8 p csv header T se

生物生态排序分析——CCA分析

library(vegan) library(ggplot2) library(permute) library(lattice) sa4=read.table("spes.csv",header=T,row.names=1,sep=",") S8.p=read.table("S8.p.csv",header=T,sep=",",row.names=1)#选择有显著性相关关系理化因子 group <- read.table("name.csv", header=F,sep=",",colClasses=c("character","character"))#用作产生图例,对样本进行分类 cca<-cca(sa4,S8.p, scale=T) sam <- data.frame(cca$CCA$u[,c(1,2)], group$V2) #提取样本得分 colnames(sam) <- c("CCA1","CCA2","group") spec <- cca$CCA$v[,c(1,2)] #物种得分 spec <- as.data.frame(spec) #可用于图中显示物种数据 #spec<-data.frame(spece=row.names(cca$CCA$v),RDA1=cca$CCA$v[,1],RDA2=cca$CCA$v[,2]) env <- cca$CCA$biplot[,c(1,2)] #环境因子得分 env <- as.data.frame(env) cca1 =round(cca$CCA$eig[1]/sum(cca$CCA$eig)*100,2) #第一轴标签 cca2 =round(cca$CCA$eig[2]/sum(cca$CCA$eig)*100,2) #第二轴标签 #绘图对象的创建 p <- ggplot(data=sam,aes(CCA1,CCA2)) #几何对象 p <- p + geom_point(aes(colour=group,shape=group),size=5) + #在图中显示物种 #geom_point(data=spec,aes(shape=spece),size=2) + scale_shape_manual(values=seq(0,20))+ #添加样本标签 #geom_text(aes(label=rownames(sam)), # size=4,hjust=0.5,vjust=-0.7,position = "jitter") + scale_shape_manual(values=c(19,19,19,19,19)) + labs(title="CCA Plot",x=paste("CCA1 ",cca1," %"),y=paste("CCA2 ",cca2," %")) + theme(text=element_text(family="serif")) #去除背景以及网格线 p=p+theme_bw() + theme(panel.grid=element_blank()) p=p + geom_segment(data = env,aes(x=0,y=0,xend = env[,1], yend = env[,2]), colour="purple", size=1.5, arrow=arrow(angle=35, length=unit(0.3, "cm"))) + geom_text(data=env, aes(x=env[,1], y=env[,2], label=rownames(env)), size=5, colour="purple",hjust = (1 - 2 * sign(env[ ,1])) / 3, angle = (180/pi) * atan(env[ ,2]/env[ ,1])) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据分析师:大数据建模,你需要了解九大形式

    数据分析师:大数据建模,你需要了解九大形式

    2021年11月21日
    46
  • 智能小车设计思路简述

    智能小车设计思路简述简单的说就是把微控制器(单片机)的管脚和外设的引脚用杜邦线相连,就可以使用微控制器通过自身管脚给外设发送信号,以实现外设的运行。能力较强的可以自己设计一块电路板,把微控制器和一部分外设直接插在板子上面的排座上,减少杜邦线的使用(使用杜邦线太多会比较乱),还可以在板子上设计一些必要的电路如稳压电路、按键电路、电机驱动电路,这些电路网上也能买到。其实小车后期前进后退、循迹、避障的功能是否顺滑,大部分取决于代码的编写,有的时候还需要在代码中加入算法。智能小车的设计主要包含两部分,硬件部分和软件部分。……

    2022年10月9日
    3
  • shell运维脚本实例_100个必会的shell脚本

    shell运维脚本实例_100个必会的shell脚本无论是系统运维,还是应用运维,均可分为“**纯手工”—>“脚本化”—>“自动化”—>“智能化”**几个阶段,其中自动化阶段,主要是将一些重复性人工操作和运维经验封装为程序或脚本,一方面避免重复性操作及风险,另一方面提高执行效率。在自动化运维的转变过程中,经常使用的可能就是shell脚本了。很多人认为shell脚本简单,但其实Shell的小脚本却有大智慧。别小看几十行代码,它夹杂着系统设计、代码规范和操作经验等等细节,在建设自动化运维的工作中,还是很值得我们研究学习的。为了帮助大.

    2022年9月28日
    3
  • uC/os内存优化——TLSF算法

    uC/os内存优化——TLSF算法需求uC/os内存管理机制为内存块形式,用户申请内存是需要自己指定内存区内内存块数和内存块大小,看起来很灵活,实际上很不方便,需要使用者记住内存块大小,自己维护内存区,给使用者增加了负担。TLSF算法能够满足实时性的要求,并且可有效的较小内部碎片。TLSF作为分离式空闲链表算法(SegregatedFreeLists)的拓展–将相似的空闲块利用数组或者二叉树进行管理从而使响应时间与空…

    2022年6月15日
    30
  • 推荐系统(Recommendation system )介绍[通俗易懂]

    推荐系统(Recommendation system )介绍[通俗易懂]前言随着电子商务的发展,网络购物成为一种趋势,当你打开某个购物网站比如淘宝、京东的时候,会看到很多给你推荐的产品,你是否觉得这些推荐的产品都是你似曾相识或者正好需要的呢。这个就是现在电子商务里面的推

    2022年8月4日
    6
  • python打开网页链接_怎么用python打开浏览器

    python打开网页链接_怎么用python打开浏览器以下为一个最简单的HTTP服务器,在浏览器中输入地址后,就能够访问到通目录下的HTML文件,import socket”””TCP 的服务端1,socket 创建socket2.bind 绑定IP和端口3.listen 处于监听状态4.accept 接进来客户端的连接5.recv/send 接受或者发送信息6.close 关闭”””def tcp_creat_socket(): tcp_ser = socket.socket(family=socket.AF_INET, t

    2022年8月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号