冗余分析(redundancy analysis, RDA)自己之前也听过,好像是生态学研究中用的比较多,主要是用来探索环境和一些样本指标之间的关系。最近自己在看一些群体遗传相关的内容,发现RDA也可以用在群体遗传方面

,比如这个参考链接 https://popgen.nescent.org/2018-03-27_RDA_GEA.html 就介绍了这个分析,主要研究内容自己还没有看明白:大体好像是利用芯片技术测了一些狼的基因型,同时采集了狼生活地点的环境数据,利用RDA同时分析基因型数据和环境数据。这个看的还有些模棱两可,还需要仔细看看。这个链接对应的两篇论文

找资料的时候还找到了另外一篇论文

image.png

image.png

image.png

今天的推文重复一下这个论文里的冗余分析的代码

首先是读入数据

sim1.csv这个数据集1:14列是环境数据,后面都是基因型数据

geno

env

geno[1:6,1:6]

head(env)

对基因型数据进行过滤

这里又涉及到了最小等位基因频率这个概念

MAF

frequencies

maf MAF & frequencies < (1-MAF))

geno

接下来就是RDA分析了

library(vegan)

RDA

library(ggplot2)

p1

geom_line(aes(x=c(1:length(RDA$CCA$eig)), y=as.vector(RDA$CCA$eig)), linetype="dotted", size = 1.5, color="darkgrey") +

geom_point(aes(x=c(1:length(RDA$CCA$eig)), y=as.vector(RDA$CCA$eig)), size = 3, color="darkgrey") +

scale_x_discrete(name = "Ordination axes", limits=c(1:9)) +

ylab("Inertia") +

theme_bw()

#library(robustbase)

#install.packages("robust")

# library("robust")

# library(qvalue)

rdadapt

{

loadings

resscale

resmaha

lambda

reschi2test

qval

q.values_rdadapt

return(data.frame(p.values=reschi2test, q.values=q.values_rdadapt))

}

res_rdadapt

p2

geom_point(aes(x=c(1:length(res_rdadapt[,1])), y=-log10(res_rdadapt[,1])), col = "gray83") +

geom_point(aes(x=c(1:length(res_rdadapt[,1]))[which(res_rdadapt[,2] < 0.1)], y=-log10(res_rdadapt[which(res_rdadapt[,2] < 0.1),1])), col = "orange") +

xlab("SNPs") + ylab("-log10(p.values)") +

theme_bw()

which(res_rdadapt[,2] < 0.1)

p3

geom_point(aes(x=RDA$CCA$v[,1], y=RDA$CCA$v[,2]), col = "gray86") +

geom_point(aes(x=RDA$CCA$v[which(res_rdadapt[,2] < 0.1),1], y=RDA$CCA$v[which(res_rdadapt[,2] < 0.1),2]), col = "orange") +

geom_segment(aes(xend=RDA$CCA$biplot[,1]/10, yend=RDA$CCA$biplot[,2]/10, x=0, y=0), colour="black", size=0.5, linetype=1, arrow=arrow(length = unit(0.02, "npc"))) +

geom_text(aes(x=1.2*RDA$CCA$biplot[,1]/10, y=1.2*RDA$CCA$biplot[,2]/10, label = colnames(env[,2:11]))) +

xlab("RDA 1") + ylab("RDA 2") +

theme_bw() +

theme(legend.position="none")

library(patchwork)

p1/(p2+p3)

image.png

代码能够跑完,但是具体是什么意思还不太明白,仔细看看这些论文

欢迎大家关注我的公众号

小明的数据分析笔记本

rda分析怎么做_R语言做冗余分析(RDA)的一个简单小例子相关推荐

  1. R语言ggplot2绘制平滑曲线的折线图简单小例子

    R语言ggplot2常规的折线图 library(ggplot2) df<-data.frame(x=1:10,y=sample(1:10,10)) ggplot(df) +geom_line( ...

  2. r语言ggplot2一夜多图_R语言ggplot2画四方形的热图展示相关系数的简单小例子

    R语言里画热图通常会使用pheatmap这个包.如果想使用ggplot2这个包画热图的话需要借助geom_tile()这个函数.今天的内容就以相关系数的数据为例介绍一下ggplot2画热图的一个简单小 ...

  3. C语言获取左键鼠标点击的次数,c语言在控制台判定鼠标左键的小例子

    c语言在控制台判定鼠标左键的小例子 复制代码 代码如下: // temp1.cpp : Defines the entry point for the console application. // ...

  4. 抽象语法树 c语言,一个简单的例子看懂抽象语法树的魔力

    在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示.它以树状的形式表现编程语言的语法结构,树上的每个 ...

  5. r语言做绘制精美pcoa图_R语言进行PCoA分析

    相信大家在做微生物多样性研究时经常听到PCA分析.PCoA分析,NMDS分析,CCA分析,RDA分析. 它们对 物种(或基因.功能)的分析具有重要作用,因而频频出现在16S测序及宏基因组测序中. 那么 ...

  6. R语言在图上标出点坐标_R语言做图plot参数

    R语言做图plot参数函数名称:plot 用       途:作图 用       法:plot(x, y, --) 参       数: 1.符号和线条 pch:指定绘制点所使用的符号,取值范围[0 ...

  7. rda冗余分析步骤_数量生态学笔记||冗余分析(RDA)

    上一节数量生态学笔记||冗余分析(RDA)概述中,我们回顾了RDA的计算过程,不管这个过程我们有没有理解透彻,我希望你能知道的是:RDA是响应变量矩阵与解释变量之间多元多重线性回归的拟合值矩阵的PCA ...

  8. pca降维的基本思想_R语言进行PCA分析

    点击上方「蓝字」关注我 写在前面 前面我们知道了降维分析 学习了PCoA分析 今天学习PCA分析... PCA(Principal Component Analysis),即主成分分析方法,是一种使用 ...

  9. R语言ineq算基尼系数_R语言常用计量分析包

    R 语言常用计量分析包 CRAN 任务视图:计量经济学 线形回归模型( Linear regression models ) 线形模型可用 stats 包中 lm() 函数通过 OLS 来拟合, 该包 ...

最新文章

  1. 快学习使用Linux吧,避免勒索病毒大肆入侵
  2. WP8.1程序开发,可视树VisualTreeHelper类的使用
  3. 八. 输入输出(IO)操作6.文件与目录管理
  4. Python基础概念_11_标准库
  5. Valhalla项目:LW2内联类型的初步了解
  6. 详测 Generics Collections TStack(1): Push、Pop、Peek - 其他功能同 TQueue
  7. 【leetcode】390. Elimination Game
  8. 【米课】思维导图与深度思考
  9. Zabbix触发器配置指定生效星期监控CPU使用率
  10. 语音识别在智能交通中的几种应用分析
  11. PSTN ,PBX ,IP PBX,VoIP
  12. 密码破解—Hashcat
  13. 让信息带钩的六种武器——《让创意更有黏性》优秀读后感4300字
  14. android 8.0自定义全局对话框,Android 8.0如何完美适配全局dialog悬浮窗弹出
  15. 安卓文件管理神器--X-plore
  16. #ps –ef_ps命令 – 显示进程状态
  17. 重置帆软决策系统用户名密码
  18. win10 卸载cuda
  19. 华为云防火墙-firewall 打开关闭
  20. Android Crash:Bad notification for startForeground

热门文章

  1. 暗影精灵3开机黑屏解决方案
  2. 阿信歌词很美,因为心中有至爱的人
  3. 中文 NLP (2) -- ICTCLAS分词
  4. ubuntu有用的网址
  5. STM32H7使用外部flash运行程序
  6. voip 软电话 csipsimple
  7. 分享大数据建模工具-大数据挖掘建模平台
  8. 输入10个数,将最大的数字输出;
  9. Linux网络优化加速一键脚本
  10. 终于搞定那个顽固的病毒