rda分析怎么做_R语言做冗余分析(RDA)的一个简单小例子
冗余分析(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)的一个简单小例子相关推荐
- R语言ggplot2绘制平滑曲线的折线图简单小例子
R语言ggplot2常规的折线图 library(ggplot2) df<-data.frame(x=1:10,y=sample(1:10,10)) ggplot(df) +geom_line( ...
- r语言ggplot2一夜多图_R语言ggplot2画四方形的热图展示相关系数的简单小例子
R语言里画热图通常会使用pheatmap这个包.如果想使用ggplot2这个包画热图的话需要借助geom_tile()这个函数.今天的内容就以相关系数的数据为例介绍一下ggplot2画热图的一个简单小 ...
- C语言获取左键鼠标点击的次数,c语言在控制台判定鼠标左键的小例子
c语言在控制台判定鼠标左键的小例子 复制代码 代码如下: // temp1.cpp : Defines the entry point for the console application. // ...
- 抽象语法树 c语言,一个简单的例子看懂抽象语法树的魔力
在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示.它以树状的形式表现编程语言的语法结构,树上的每个 ...
- r语言做绘制精美pcoa图_R语言进行PCoA分析
相信大家在做微生物多样性研究时经常听到PCA分析.PCoA分析,NMDS分析,CCA分析,RDA分析. 它们对 物种(或基因.功能)的分析具有重要作用,因而频频出现在16S测序及宏基因组测序中. 那么 ...
- R语言在图上标出点坐标_R语言做图plot参数
R语言做图plot参数函数名称:plot 用 途:作图 用 法:plot(x, y, --) 参 数: 1.符号和线条 pch:指定绘制点所使用的符号,取值范围[0 ...
- rda冗余分析步骤_数量生态学笔记||冗余分析(RDA)
上一节数量生态学笔记||冗余分析(RDA)概述中,我们回顾了RDA的计算过程,不管这个过程我们有没有理解透彻,我希望你能知道的是:RDA是响应变量矩阵与解释变量之间多元多重线性回归的拟合值矩阵的PCA ...
- pca降维的基本思想_R语言进行PCA分析
点击上方「蓝字」关注我 写在前面 前面我们知道了降维分析 学习了PCoA分析 今天学习PCA分析... PCA(Principal Component Analysis),即主成分分析方法,是一种使用 ...
- R语言ineq算基尼系数_R语言常用计量分析包
R 语言常用计量分析包 CRAN 任务视图:计量经济学 线形回归模型( Linear regression models ) 线形模型可用 stats 包中 lm() 函数通过 OLS 来拟合, 该包 ...
最新文章
- 快学习使用Linux吧,避免勒索病毒大肆入侵
- WP8.1程序开发,可视树VisualTreeHelper类的使用
- 八. 输入输出(IO)操作6.文件与目录管理
- Python基础概念_11_标准库
- Valhalla项目:LW2内联类型的初步了解
- 详测 Generics Collections TStack(1): Push、Pop、Peek - 其他功能同 TQueue
- 【leetcode】390. Elimination Game
- 【米课】思维导图与深度思考
- Zabbix触发器配置指定生效星期监控CPU使用率
- 语音识别在智能交通中的几种应用分析
- PSTN ,PBX ,IP PBX,VoIP
- 密码破解—Hashcat
- 让信息带钩的六种武器——《让创意更有黏性》优秀读后感4300字
- android 8.0自定义全局对话框,Android 8.0如何完美适配全局dialog悬浮窗弹出
- 安卓文件管理神器--X-plore
- #ps –ef_ps命令 – 显示进程状态
- 重置帆软决策系统用户名密码
- win10 卸载cuda
- 华为云防火墙-firewall 打开关闭
- Android Crash:Bad notification for startForeground