R语言做生态位分化分析(4)结果保存到本地自己作图

之前发过的关于生态位分化分析的推文
R语言做生态位分化分析(3)一个真实的小例子
R语言做生态位分化分析(2)找找参考论文
R语言里做生态位分化分析(1)背景知识查询
这个生态位分化分析整个的运行过程时间还是挺长的,所以想写个脚本直接在服务器上提交一个任务,最开始是想直接用save函数把运行结果保存下来。但是这个结果非常大,保存到本地以后有60多个G(暂时还没太搞懂这个数据里都有什么)。最后能用到的结果是
result$p.values

result$p.values%>%as.data.frame()%>%rownames_to_column()
这个是 p 值,可以转换为数据框保存
result$reps.overlap

result$reps.overlap %>%
rownames_to_column() %>%
write_tsv(“reps.overlap.tsv”)
这个是作图用到的数据

image.png
第一行是 结果图垂直虚线的位置
单独把这个数据保存成一个数据框然后输出应该就可以了,图用这个数据来做
其余的行是频率分布直方图的数据
result$d.plot
result$i.plot
这两个是可能会用到的结果图,暂时没有想明白单独保存图文件也会非常大,不知道为啥
下面运行一下这个R中的帮助文档,保存数据然后自己作图
帮助文档中的代码

library(ENMTools)
library(tidyverse)

cyreni <- iberolacerta.clade$species$cyreni monticola <- iberolacerta.clade$species$monticola cyreni$range <- background.raster.buffer(cyreni$presence.points, 100000, euro.worldclim) monticola$range <- background.raster.buffer(monticola$presence.points, 100000, euro.worldclim) identity.test(cyreni, monticola, env = euro.worldclim, type = “glm”, f = pres ~ bio1 + bio12, nreps = 100) -> result

result$reps.overlap %>%
rownames_to_column() %>%
write_tsv(“reps.overlap.tsv”)
读取数据作图

read_tsv(“reps.overlap.tsv”) %>%
filter(rowname != “empirical”) -> dat

p1<-ggplot(data=dat,aes(x=D))+
geom_histogram(color=”grey”,fill=”#009f73″)+
geom_vline(xintercept = 0.471,lty=”dashed”)+
theme_bw(base_size = 15)+
theme(panel.grid = element_blank())+
annotate(geom = “text”,x=0.6,y=50,label=”P=0.0099″,size=10)

p2<-ggplot(data=dat,aes(x=I))+
geom_histogram(color=”grey”,fill=”#0072b1″)+
geom_vline(xintercept = 0.471,lty=”dashed”)+
theme_bw(base_size = 15)+
theme(panel.grid = element_blank())+
annotate(geom = “text”,x=0.6,y=50,label=”P=0.0099″,size=10)

library(patchwork)
p1+p2

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/418164.html

(0)
联系我们
联系我们
分享本页
返回顶部