当前位置: 首页 > news >正文

R语言【paleobioDB】——pbdb_orig_ext():绘制随着时间变化而出现的新类群

Package paleobioDB version 0.7.0

paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。

可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。


Usage

pbdb_orig_ext (data, rank, 
temporal_extent, res, orig_ext,  
colour="#0000FF30", bord="#0000FF", do.plot=TRUE)

Arguments

参数【data】:输入的数据,数据帧格式。可以通过 pbdb_occurrences() 函数 传参 show = c("phylo", "ident") 获得数据。

参数【rank】:设置感兴趣的分类阶元。可选项包括:“species”,“genus”,“family”,“order”,“class” 和 “phylum”。默认值为 “species”

参数【temporal_extent】:设置时间范围,向量型(min,max)。

参数【res】:数值型。设置时间范围的时间段刻度。

参数【orig_ext】1 表示出现,2 表示灭绝。

参数【colour】:改变图中柱子的颜色。默认为 skyblue2

参数【bord】:设置图形边界的颜色。

参数【do.plot】TRUE/FALSE。默认为 TRUE


Value

返回一个数据帧,在选定的时间范围内,展示目标分类阶元的第一次出现次数和灭绝次数。并且绘制图形。


Example

library(paleobioDB)
library(RCurl)options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))canidae<-  pbdb_occurrences (limit="all", vocab="pbdb",
+                              base_name="Canidae", show=c("phylo", "ident"))

> pbdb_orig_ext (canidae, rank="genus", temporal_extent=c(0, 10), 
+                res=1, orig_ext=1) new ext
1-2 to 0-1    2   2
2-3 to 1-2    0   0
3-4 to 2-3    3   2
4-5 to 3-4    8   6
5-6 to 4-5    3   4
6-7 to 5-6    5   0
7-8 to 6-7    0   0
8-9 to 7-8    0   0
9-10 to 8-9   0   0

> pbdb_orig_ext (canidae, rank="species", temporal_extent=c(0, 10), 
+                res=1, orig_ext=2) new ext
1-2 to 0-1    7  14
2-3 to 1-2   10  14
3-4 to 2-3   39  13
4-5 to 3-4   24  16
5-6 to 4-5   14   9
6-7 to 5-6   21   0
7-8 to 6-7    0   0
8-9 to 7-8    1   0
9-10 to 8-9   2   0


Page

function (data, rank, temporal_extent, res, orig_ext = 1, colour = "#0000FF30", bord = "#0000FF", do.plot = TRUE) 
{temporal_range <- pbdb_temp_range(data = data, rank = rank, do.plot = FALSE)te <- temporal_extentsequence <- seq(from = min(te), to = (max(te)), by = res)intv <- data.frame(min = sequence[1:length(sequence) - 1], max = sequence[2:length(sequence)])labels1 <- paste(intv[, 1], intv[, 2], sep = "-")labels2 <- paste(labels1[2:(length(labels1))], labels1[1:(length(labels1) - 1)], sep = " to ")res_sp <- list()for (i in 1:dim(intv)[1]) {intvv <- intv[i, ]cases1 <- which(as.numeric(temporal_range$min) >= intvv$min & as.numeric(temporal_range$min) <= intvv$max & as.numeric(temporal_range$max) >= intvv$max)cases2 <- which(as.numeric(temporal_range$min) <= intvv$min & as.numeric(temporal_range$max) <= intvv$max & as.numeric(temporal_range$max) >= intvv$min)cases3 <- which(as.numeric(temporal_range$min) <= intvv$min & as.numeric(temporal_range$max) >= intvv$max)cases <- unique(c(cases1, cases2, cases3))sps <- temporal_range[cases, ]res_sp[[i]] <- sps}change <- data.frame()for (i in length(res_sp):2) {new_taxa <- length(setdiff(row.names(res_sp[[i - 1]]), row.names(res_sp[[i]])))ext <- length(setdiff(row.names(res_sp[[i]]), row.names(res_sp[[i - 1]])))col <- c(new_taxa, ext)change <- rbind(change, col)}names(change) <- c("new", "ext")change <- change[rev(as.numeric(row.names(change))), ]row.names(change) <- labels2if (do.plot == TRUE) {ymx <- max(change[, orig_ext])ymn <- min(change[, orig_ext])xmx <- sequence[length(sequence) - 1]xmn <- sequence[2]plot.new()par(mar = c(5, 5, 2, 5), font.lab = 1, col.lab = "grey20", col.axis = "grey50", cex.axis = 0.8)plot.window(xlim = c(xmx, xmn), xaxs = "i", ylim = c(ymn, ymx), yaxs = "i")abline(v = seq(xmn, xmx, by = res), col = "grey90", lwd = 1)abline(h = seq(0, ymx, by = (ymx/10)), col = "grey90", lwd = 1)xx <- c(xmn, sequence[2:(length(sequence) - 1)], xmx)yy <- c(0, change[, orig_ext], 0)polygon(xx, yy, col = colour, border = bord)axis(1, line = 1, labels = labels2, at = xx[-c(1, length(xx))])axis(2, line = 1, las = 1)mtext("Million years before present", line = 3, adj = 1, side = 1)mtext(paste("Number of ", rank, sep = ""), line = 3, adj = 0, side = 2)title(ifelse(orig_ext == 1, "First appearences", "Last appearences"))}return(change)
}

相关文章:

R语言【paleobioDB】——pbdb_orig_ext():绘制随着时间变化而出现的新类群

Package paleobioDB version 0.7.0 paleobioDB 包在2020年已经停止更新&#xff0c;该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后&#xff0c;执行本地安装。 Usage pbdb_orig_ext (data, rank, temporal_extent…...

Vue模板的理解和使用

Vue模板 Vue.js 的模板是一种声明性的语法&#xff0c;用于将数据渲染进 DOM&#xff08;文档对象模型&#xff09;。它们使开发者能够以直观的方式声明式地描述用户界面应该如何根据应用程序数据的变化动态显示。 Vue模板的主要特点包括&#xff1a; 数据绑定&#xff1a; …...

mysql group_concat函数使用

CREATE TABLE aa (id int(11) DEFAULT NULL,name varchar(50) DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb41、基本查询 SELECT * FROM aa;2、以id分组&#xff0c;把name字段的值打印在一行&#xff0c;逗号分隔(默认) select id,group_concat(name) from aa group …...

并发编程之三大特性及JMM内存模型

目录 原子性 如何保证原子性 可见性 如何保证可见性 有序性 如何保证有序性 Java内存模型(JMM内存模型) Java内存模型的一些关键概念&#xff1a; 主内存与工作内存交互协议 Java内存模型通过以下手段来确保多线程程序的正确性&#xff1a; 锁机制 volatile volat…...

centos系统设置runlevel为5

在 CentOS 系统中&#xff0c;可以使用以下步骤将运行级别&#xff08;runlevel&#xff09;设置为 5&#xff1a; 1. 打开终端或 SSH 连接到 CentOS 服务器。 2. 以 root 用户身份登录。 3. 运行以下命令来编辑 /etc/inittab 文件&#xff1a; shell sudo vi /etc/inittab…...

关于群晖ARPL界面能出现ip但是使用Synology Assistant搜索不到ip问题 及解决方法

文章引用ing304 频道文章&#xff1a;https://qun.qq.com/qqweb/qunpro/share?_wv3&_wwv128&appChannelshare&inviteCode20jx8dPsU2z&contentID1m4NKs&businessType2&from181174&shareSource5&bizka 前言 当进入该界面后 提示IP无法访问&a…...

mysql Linux系统云服务器配置远程访问

mysql Linux系统云服务器配置远程访问 1.安装mysql 服务器 2.配置远程登录用户权限 3.进行远程登录&#xff0c;并访问数据库 1.安装mysql 服务器 首先先安装一下云服务器 sudo apt-get install mysql-server安装好之后&#xff0c;我们直接以root用户登录&#xff1a; …...

使用WAF防御网络上的隐蔽威胁之SQL注入攻击

SQL注入攻击是一种普遍存在且危害巨大的网络安全威胁&#xff0c;它允许攻击者通过执行恶意的SQL语句来操纵或破坏数据库。 这种攻击不仅能够读取敏感数据&#xff0c;还可能用于添加、修改或删除数据库中的记录。因此&#xff0c;了解SQL注入攻击的机制及其防御策略对于保护网…...

【书生·浦语】大模型实战营——第五次课程作业

基础作业——使用LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署InternLM-Chat-7B模型&#xff0c;生成300字的小故事 环境准备 除了安装所需依赖之后&#xff0c;重要的是进行模型转化&#xff08;转换成TurboMind格式&#xff09;&#xff0c;这里需要注意转化命…...

Unity | 渡鸦避难所-7 | 攻击碰撞检测

1 前言 英雄的宝剑并非只是装饰物&#xff0c;利剑出鞘时可以对怪物造成伤害。同样&#xff0c;怪物挥出铁拳时也会对英雄造成伤害。当然&#xff0c;都有同样的前提&#xff1a;在武器碰到对方的情况下&#xff0c;才会造成伤害。利用物理引擎&#xff0c;可以轻松的实现碰撞…...

Linux Mii management/mdio子系统分析之一 总体概述

Linux Mii management/mdio子系统分析之一 总体概述 &#xff08;转载&#xff09;原文链接&#xff1a;https://blog.csdn.net/u014044624/article/details/123303099 从本章开始&#xff0c;我们介绍linux的mii management对应的mdio子模块&#xff0c;该模块主要用于管理phy…...

C语言:自定义类型——联合和枚举

一、联合体 1.1 联合体类型的声明 像结构体⼀样&#xff0c;联合体也是由⼀个或者多个成员构成&#xff0c;这些成员可以是不同的类型。 声明方式如下图&#xff1a; 那联合体和结构体究竟有什么区别呢&#xff1f;&#xff1f; 下面将重点讲解联合体的特点&#xff01;&am…...

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -用户投票实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…...

如何实现一个两栏布局,右侧自适应?三栏布局中间自适应?

要实现一个两栏布局&#xff0c;右侧自适应的效果&#xff0c;可以使用 CSS 的 Flexbox 或 Grid 布局来实现。以下是使用 Flexbox 实现的示例&#xff1a; HTML 结构&#xff1a; htmlCopy Code<div class"container"><div class"left-column"&…...

004 Golang-channel-practice 左右括号匹配

第四题 左右括号打印 一个协程负责打印“&#xff08;”&#xff0c;一个协程负责打印“&#xff09;”&#xff0c;左右括号的数量要匹配。在这道题目里&#xff0c;我在main函数里进行了一个死循环。会产生一个随机数&#xff0c;随机数就是接下来要打印的左括号的数量。 例…...

MS2351M/MS2351D:RF 检测器/控制器

产品简述 MS2351M/MS2351D 是一款对数放大器芯片&#xff0c;主要用于接收 信号强度指示 (RSSI) 与 控 制 功 率 放 大 器 &#xff0c; 工 作 频 率 范 围 是 0.05GHz  4.0GHz &#xff0c;动态范围随信号频率不同可达 35dB 到 45dB 。 MS2351M/MS2351D 是电压响…...

vue中使用js-doc

安装依赖 安装vue-template-compiler npm install ​vue-template-compiler​ 安装minami npm install minami 安装js-doc npm install js-doc 根目录下创建 .jsdoc.conf.json 内容&#xff1a; {"tags": {"allowUnknownTags": true,// 指定所用词…...

Hive知识点

基本概念&#xff1a; 由Facebook开源&#xff0c;构建在Hadoop之上的数据仓库&#xff0c;数据计算是mapreduce&#xff0c;数据存储是HDFS 目的是构建面向分析的集成的数据环境&#xff0c;为企业提供决策支持 &#xff08;面向分析的存储系统&#xff09; 主要特征&…...

android自启动

Android 开机自动启动一个Service 附源码_watchdogservice-CSDN博客 执行 adb push 本地地址 目标地址 时遇到错误&#xff1a; adb: error: failed to copy app-release.apk to /system/app/app-release.apk: remote couldnt create file: Read-only file system 解决方案…...

cookie、Web Storage

前端知识汇编 1. cookie1.1 cookie的限制1.2 cookie的构成1.3 JavaScript中的cookie1.4 子cookie1.5 使用cookie的注意事项 2. Web Storage2.1 Storage类型2.2 sessionStorage对象2.3 localStorage对象2.4 存储事件2.5 限制 1. cookie cookie是客户端与服务器端进行会话时使用…...

电力负荷预测挑战:Informer2020如何实现长序列时间序列预测的完整解决方案

电力负荷预测挑战&#xff1a;Informer2020如何实现长序列时间序列预测的完整解决方案 【免费下载链接】Informer2020 The GitHub repository for the paper "Informer" accepted by AAAI 2021. 项目地址: https://gitcode.com/gh_mirrors/in/Informer2020 在…...

3步搭建高性能Minecraft服务器:CatServer完整部署与优化指南

3步搭建高性能Minecraft服务器&#xff1a;CatServer完整部署与优化指南 【免费下载链接】CatServer 高性能和高兼容性的1.12.2/1.16.5/1.18.2版本ForgeBukkitSpigot服务端 (A high performance and high compatibility 1.12.2/1.16.5/1.18.2 version ForgeBukkitSpigot server…...

突破下载瓶颈:百度网盘Mac版SVIP加速完全指南

突破下载瓶颈&#xff1a;百度网盘Mac版SVIP加速完全指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否曾因百度网盘Mac版的龟速下载而焦躁&am…...

反诈渗透测试实战:绕过人的决策链而非系统漏洞

1. 这不是黑客炫技&#xff0c;而是一次真实的反诈防线压力测试 “我们刚上线的反诈预警弹窗&#xff0c;被内部员工用三分钟绕过了。” 这句话是我在某地市反诈中心做驻场支持时&#xff0c;接到的第一通电话。不是红蓝对抗演练通知&#xff0c;不是安全培训课件里的假设场景…...

机器学习研究代码可复现性:从依赖管理到工程化实践

1. 项目概述&#xff1a;为什么机器学习研究需要“工程化”&#xff1f;如果你在机器学习领域摸爬滚打过几年&#xff0c;大概率经历过这样的场景&#xff1a;兴冲冲地打开一篇顶会论文的GitHub仓库&#xff0c;准备复现其惊艳的实验结果&#xff0c;却发现README里只有一句“运…...

GTA5线上小助手:终极方案助你高效称霸洛圣都

GTA5线上小助手&#xff1a;终极方案助你高效称霸洛圣都 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 厌倦了在GTA5线上模式中重复枯燥的刷钱任务&#xff1f;想要快速解锁所有服装和载具却不知从何入…...

League Akari:英雄联盟玩家的终极智能助手工具包

League Akari&#xff1a;英雄联盟玩家的终极智能助手工具包 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟游戏中的繁琐操作而…...

BooruDatasetTagManager:10倍提升AI训练数据标注效率的智能解决方案

BooruDatasetTagManager&#xff1a;10倍提升AI训练数据标注效率的智能解决方案 【免费下载链接】BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager 面对数千张AI训练图像的繁琐标注工作&#xff0c;你是否感到力不从心&am…...

抖音无水印视频解析终极指南:5分钟快速上手DouYinBot

抖音无水印视频解析终极指南&#xff1a;5分钟快速上手DouYinBot 【免费下载链接】DouYinBot 该项目仅自用&#xff0c;不提供抖音视频下载 项目地址: https://gitcode.com/gh_mirrors/do/DouYinBot 在短视频创作日益普及的今天&#xff0c;如何快速获取抖音无水印视频、…...

机器学习预测因果边界:从数据稀缺子群体到精准决策

1. 项目概述与核心挑战在医疗、经济、政策评估等关键决策领域&#xff0c;我们常常需要回答一个核心问题&#xff1a;“如果我采取了某项干预措施&#xff0c;结果会有什么不同&#xff1f;”这本质上是一个因果推断问题&#xff0c;它超越了简单的相关性分析&#xff0c;旨在揭…...