R语言实践——rWCVP入门

news2024/11/19 22:49:55

rWCVP入门

  • 介绍
    • 1. 访问到WCVP
      • 1.1 方法一
      • 1.2 方法二(谨慎)
    • 2. WCVP数据筛选
      • 2.1 关于按分类单元筛选的说明
      • 2.2 关于按分布区域筛选的说明
  • 笔者实践

介绍

世界维管植物名录(WCVP)是维管植物物种的全球共识。它提供了科学已知的> 340,000 种维管植物物种的名称、同义词、分类学和分布。

作者们开发了 rWCVP,使一些使用 WCVP 的常见任务更容易。其中包括根据WCVP标准化分类单元名称列表,获取和绘制物种分布图,以及创建在特定区域发现的分类单元清单。

1. 访问到WCVP

要使 rWCVP 中的函数正常工作,您需要有权访问 WCVP 的副本。

1.1 方法一

加载 WCVP 的一种方法是安装关联的数据包 rWCVPdata:

if (!require(rWCVPdata)) {
  install.packages("rWCVPdata",
    repos = c(
      "https://matildabrown.github.io/drat",
      "https://cloud.r-project.org"
    )
  )
}

==等待下载安装完成后,==可以看到rWCVPdata的类群和分布数据:

library(rWCVPdata)

names = rWCVPdata::wcvp_names
distribution = rWCVPdata::wcvp_distributions

rWCVPdata含有超过140万条物种信息:
在这里插入图片描述
rWCVPdata含有超过190万条物种分布信息:
在这里插入图片描述

1.2 方法二(谨慎)

如果数据包不可用,或者您希望使用不同版本的 WCVP,则可以向此包中的主函数提供数据的本地副本。例如,要生成清单:

names <- read_csv("/path/to/wcvp_names.csv")
distributions <- read_csv("/path/to/wcvp_distributions.csv")

checklist <- wcvp_checklist("Acacia",
  taxon_rank = "genus", area_codes = "CPP",
  wcvp_names = names, wcvp_distributions = distributions
)

如果您使用的是自己的WCVP版本,请小心!WCVP 表的结构有时会因版本而异。应将 rWCVP 设置为与最新版本的 WCVP 以及共享相同结构的任何先前版本一起使用。

2. WCVP数据筛选

一些rWCVP功能涉及WCVP数据筛选,以生成特定区域中维管植物物种的列表或摘要。

这些函数接受两个用于筛选 WCVP 的参数:

  • taxon:具有物种或更高物种分类等级的有效分类单元的名称(例如物种“Myrcia almasensis”,属“Myrcia”或“Myrtaceae”科)。
  • area:要关注的区域的 WGSRPD 3 级代码向量。

这些参数可以在wcvp_checklist、wcvp_occ_mat和wcvp_summary中组合使用,以产生所需区域中焦点分类群的输出。例如,巴西的桃金娘科

# filter Myrtaceae species in Brazil
checklist <- wcvp_checklist("Myrtaceae",
                            taxon_rank = "family",
                            area_codes = c("BZC", "BZN", "BZS", "BZE", "BZL")
)

在这里插入图片描述

2.1 关于按分类单元筛选的说明

按分类筛选时,需要使用 taxon.rank 参数告诉函数您提供的名称的分类等级

例如,生成早熟禾属的摘要表:

# summary table for Poa
wcvp_summary("Poa", taxon_rank = "genus")
ℹ No area specified. Generating global summary.
$Taxon
[1] "Poa"

$Area
[1] "the world"

$Grouping_variable
[1] "area_code_l3"

$Total_number_of_species
[1] 573

$Number_of_regionally_endemic_species
[1] 573

$Summary
# A tibble: 280 × 6
   area_code_l3 Native Endemic Introduced Extinct Total
   <chr>         <int>   <int>      <int>   <int> <int>
 1 ABT              21       0          5       0    26
 2 AFG              23       1          0       0    23
 3 AGE              13       2          5       0    18
 4 AGS              24       0         10       0    34
 5 AGW              34       8          3       0    37
 6 ALA               6       0          3       0     9
 7 ALB              17       0          0       0    17
 8 ALG               8       0          1       0    11
 9 ALT              30       3          1       0    31
10 ALU               7       0          3       0    10
# ℹ 270 more rows
# ℹ Use `print(n = ...)` to see more rows

您可以提供等级的分类单元名称 种、属、科、目或更高。 WCVP仅提供科级以下的分类信息。我们包括了一个名为taxonomic_mapping的表格,用于根据APG IV将家族映射到目和更高的分类法。

# APG Ⅳ
head(taxonomic_mapping)
       higher       order          family
1 Angiosperms    Acorales       Acoraceae
2 Angiosperms Alismatales    Alismataceae
3 Angiosperms Alismatales Aponogetonaceae
4 Angiosperms Alismatales         Araceae
5 Angiosperms Alismatales      Butomaceae
6 Angiosperms Alismatales   Cymodoceaceae

我们在后台使用此表,以便使用这些更高的分类排名进行筛选。例如,对所有禾本目进行汇总

# summary all Poales:
wcvp_summary("Poales", taxon_rank = "order")
ℹ No area specified. Generating global summary.
$Taxon
[1] "Poales"

$Area
[1] "the world"

$Grouping_variable
[1] "area_code_l3"

$Total_number_of_species
[1] 23770

$Number_of_regionally_endemic_species
[1] 23770

$Summary
# A tibble: 368 × 6
   area_code_l3 Native Endemic Introduced Extinct Total
   <chr>         <int>   <int>      <int>   <int> <int>
 1 ABT             359       0         70       0   429
 2 AFG             485      16         15       0   504
 3 AGE             908      31        166       0  1074
 4 AGS             389      20         88       0   477
 5 AGW             890     130        105       0   995
 6 ALA             711       2        153       0   864
 7 ALB             363       4         14       0   387
 8 ALD              44       7         13       0    57
 9 ALG             445      11         41       0   497
10 ALT             383       9          6       0   389
# ℹ 358 more rows
# ℹ Use `print(n = ...)` to see more rows

2.2 关于按分布区域筛选的说明

WCVP使用世界记录植物分布地理方案(WGSRPD)在第3级列出分类单元分布。这一水平对应于“植物国家”,它们大多遵循国家的边界,除非大国被分割或省略边远地区。rWCVP 中的函数期望area作为 WGSRPD 3 级代码的向量提供。

查找您感兴趣的整个区域可能会很烦人。例如,要按巴西的物种过滤,您需要提供 5 个代码的向量。为了方便起见,rWCVP 具有将区域名称转换为 WGSRPD 3 级代码向量的功能。

# convert region to codes
get_wgsrpd3_codes("Brazil")
ℹ Matches to input geography found at Country (Gallagher) and Region (Level 2)
[1] "BZC" "BZE" "BZL" "BZN" "BZS"

这可以直接输入到按区域过滤 WCVP 的函数中。

wcvp_summary("Poa", taxon_rank = "genus", area = get_wgsrpd3_codes("Southern Hemisphere"))
ℹ Matches to input geography found at Hemisphere level
ℹ Including WGSRPD areas that span the equator. To turn this off, use `include_equatorial = FALSE`
$Taxon
[1] "Poa"

$Area
[1] "Southern Hemisphere (incl. equatorial Level 3 areas)"

$Grouping_variable
[1] "area_code_l3"

$Total_number_of_species
[1] 264

$Number_of_regionally_endemic_species
[1] 237

$Summary
# A tibble: 74 × 6
   area_code_l3 Native Endemic Introduced Extinct Total
   <chr>         <int>   <int>      <int>   <int> <int>
 1 AGE              13       2          5       0    18
 2 AGS              24       0         10       0    34
 3 AGW              34       8          3       0    37
 4 ANT               0       0          1       0     1
 5 ASC               0       0          1       0     1
 6 ASP               2       1          3       0     5
 7 ATP               8       1          3       0    11
 8 BOL              31       2          3       0    34
 9 BOR               2       1          0       0     2
10 BUR               3       0          0       0     3
# ℹ 64 more rows
# ℹ Use `print(n = ...)` to see more rows

笔者实践

m = wcvp_checklist(taxon = "Mahonia", taxon_rank = "genus")
b = wcvp_checklist(taxon = "Berberis", taxon_rank = "genus")

在这里插入图片描述
在这里插入图片描述
m表示的是mahonia,b表示berberis。在WCVP中并不承认mahonia的独立属地位,将其并入berberis 中。或许在rWCVP中筛选得到berberis,再从U.Taxonstand中尝试能否将Mahonia挑选出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/562639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink用户自定义连接器(Table API Connectors)学习总结

文章目录 前言背景官网文档概述元数据解析器运行时的实现 自定义扩展点工厂类Source扩展Sink和编码与解码 自定义flink-http-connectorSQL示例具体代码pom依赖HttpTableFactoryHttpTableSourceHttpSourceFunctionHttpClientUtil 最后参考资料 前言 结合官网文档和自定义实现一…

Leetcode | 1534 统计好三元组

1534 统计好三元组 文章目录 [1534 统计好三元组](https://leetcode.cn/problems/count-good-triplets/description/)题目解法1 暴力穷举解法2 枚举优化 题目 给你一个整数数组 arr &#xff0c;以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], a…

怎么把录音转文字?推荐你这三款工具

随着科技不断发展&#xff0c;录音转文字的技术也逐渐被广泛应用于各种场景中。其中最常见的一种就是会议记录。在日常工作中&#xff0c;会议是企业和组织中必不可少的一个环节&#xff0c;但在会议过程中的录音和记录往往需要花费大量的时间和精力。这个时候&#xff0c;我们…

【AI聊天丨 ChatGPT应用案例一】— 仅用30分钟,ChatGPT帮你完成专利交底书!

Hi&#xff0c;大家好&#xff0c;我是零点壹客&#xff0c;今天主要也是想和大家一起唠唠ChatGPT&#xff0c; 尤其这两个月&#xff0c;ChatGPT出奇的火&#xff0c;想必各位圈友们或多或少的都已经有些了解。 ChatGPT的出现很大程度上已经改变了我们的工作方式&#xff0c;尤…

GPT4限制被破解!ChatGPT实现超长文本处理的新方法

目录 前言 使用chat-gpt过程中有哪些痛点 1.无法理解人类情感和主观性 2.上下文丢失 3.约定被打断 那如何去解决这个痛点 Transformer&#xff08;RMT&#xff09;怎么去实现的 1.Transformer 模型 2.RMT模型 3.计算推理速率 4.渐进学习能力 总结 写到最后 大家好…

DeepPyramid:在白内障手术视频中实现金字塔视图和可变形金字塔接收的语义分割

文章目录 DeepPyramid: Enabling Pyramid View and Deformable Pyramid Reception for Semantic Segmentation in Cataract Surgery Videos摘要本文方法模块细节 实验结果 DeepPyramid: Enabling Pyramid View and Deformable Pyramid Reception for Semantic Segmentation in …

探秘 | 简说IP地址以及路由器的功能究竟是什么?

我们都知道我们在上网的时候都有一个IP地址&#xff0c;用来和其他人进行通信和数据交换。 其中IP地址又分为内网地址和外网地址&#xff0c;也叫作私有地址和公有地址。 为什么要区分私有地址和公有地址呢&#xff1f;原因很简单&#xff0c;因为公有的IP地址不够使用了&…

UnityVR--组件4--Ray/Raycast/Linecast/OverlapSphere

目录 Ray/Raycast/Linecast//OverlapSphere简介 Ray类 Physics.Raycast方法 应用1&#xff1a;实现鼠标点击出射线并检测物体 应用2&#xff1a;实现鼠标点击拖拽物体 Physics.Linecast和Physics.OverlapSphere 应用3&#xff1a;进入范围时触发攻击 Ray/Raycast/Lineca…

day13 网络编程Tomcat服务器

c/s架构和b/s架构的区别 c/s架构:客户端软件,直观,体验好,界面美观,安全性高 b/s架构:浏览器–>服务器,可移植性好,开发和维护性好 网络访问的三要素:ip,端口,协议 udp协议和tcp协议的区别 udp协议:只管发送,不管发送到哪里,是否能不能接收,一对多,无连接通信协议 ​ …

蓝桥:前端开发笔面必刷题——Day3 数组(三)

文章目录 &#x1f4cb;前言&#x1f3af;两数之和 II&#x1f4da;题目内容✅解答 &#x1f3af;移除元素&#x1f4da;题目内容✅解答 &#x1f3af;有序数组的平方&#x1f4da;题目内容✅解答 &#x1f3af;三数之和&#x1f4da;题目内容✅解答 &#x1f4dd;最后 &#x…

混沌演练实践(二)-支付加挂链路演练 | 京东云技术团队

1. 背景 当前微服务架构下&#xff0c;各个服务间依赖高&#xff0c;调用关系复杂&#xff0c;业务场景很少可以通过一个系统来实现&#xff0c;常见的业务场景实现基本涉及多个上下游系统&#xff0c;要保证整体链路的稳定性&#xff0c;需要尽量减少系统之间的耦合性&#x…

Elasticsearch与Clickhouse数据存储对比 | 京东云技术团队

1 背景 京喜达技术部在社区团购场景下采用JDQFlinkElasticsearch架构来打造实时数据报表。随着业务的发展Elasticsearch开始暴露出一些弊端&#xff0c;不适合大批量的数据查询&#xff0c;高频次分页导出导致宕机、存储成本较高。 Elasticsearch的查询语句维护成本较高、在聚…

CloudBase CMS的开发注意事项

引言 在进行基于云开发的微信小程序开发时为了减轻工作量打算用CloudBase CMS来减轻工作量&#xff0c;随后去了解并体验了CloudBase CMS的使用&#xff0c;总体来说还有些许问题没有解决&#xff0c;对减轻后台管理工作并没有起到很大的作用。 项目情景 使用CloudBase CMS来管…

Flutter 笔记 | Flutter 基础组件

Text Text 用于显示简单样式文本&#xff0c;它包含一些控制文本显示样式的一些属性&#xff0c;一个简单的例子如下&#xff1a; Text("Hello world",textAlign: TextAlign.left, );Text("Hello world! Im Jack. "*4,maxLines: 1,overflow: TextOverflo…

HACKABLE: III

文章目录 HACKABLE: III实战演练一、前期准备1、相关信息 二、信息收集1、端口扫描2、访问网站3、查看网站源码4、扫描目录5、访问网址6、查看并下载7、访问网站8、查看文件9、解密10、访问网站11、访问网站12、查看文件13、解密14、访问网站15、访问网站16、下载图片17、隐写1…

tcp连接阿里云linux服务器失败

原因&#xff1a; 自己程序bind的是127.0.0.1 应该改成 bind 阿里云的私网地址 client连接的是阿里云公网地址 参考&#xff1a; 阿里云服务器&#xff0c;客户端socket无法连接的问题 - 爱码网 排查过程记录&#xff1a; 1&#xff0c;安全组设置&#xff1a;有正常设置…

【C++】 模板(泛型编程、函数模板、类模板)

文章目录 模板泛型编程概念 函数模板常规使用显式指定及默认值多模板参数模板函数的声明和定义用函数模板优化冒泡排序 类模板常规使用显式指定及默认值多模板参数类中成员函数的定义和声明嵌套的类模板1.类和类型都能确定2.类和类型都不能确定3.类能确定&#xff0c;类型不确定…

Unity3D下如何实现跨平台低延迟的RTMP、RTSP播放

技术背景 好多开发者&#xff0c;希望我们能探讨下Unity平台RTMP或RTSP直播流数据播放和录制相关的模块&#xff0c;实际上&#xff0c;这块流程我们已经聊过多次&#xff0c;无非就是通过原生的RTMP或者RTSP模块&#xff0c;先从协议层拉取到数据&#xff0c;并解包解码&…

常用的表格检测识别方法——表格结构识别方法(上)

第三章 常用的表格检测识别方法 3.2表格结构识别方法 表格结构识别是表格区域检测之后的任务&#xff0c;其目标是识别出表格的布局结构、层次结构等&#xff0c;将表格视觉信息转换成可重建表格的结构描述信息。这些表格结构描述信息包括&#xff1a;单元格的具体位置、单元格…

子网掩码计算方法

子网掩码是用来划分网络的一种方式&#xff0c;它是一个32位的二进制数&#xff0c;用于将IP地址分成网络地址和主机地址两部分。子网掩码中的1表示网络地址&#xff0c;0表示主机地址。计算子网掩码的方式取决于需要划分的网络数量和主机数量。 以下是一些计算子网掩码的示例…