R语言【taxa】——从taxa 定义的类中获取组分信息

Package taxa version 0.4.2


tax_auth(x)

在拥有对应信息的对象中设置和获取类群所有权信息。

复制代码
> x <- taxon(name = c('Homo sapiens', 'Bacillus', 'Ascomycota', 'Ericaceae'),
+            rank = c('species', 'genus', 'phylum', 'family'),
+            id = taxon_id(c('9606', '1386', '4890', '4345'), db = 'ncbi'),
+            auth = c('Linnaeus, 1758', 'Cohn 1872', NA, 'Juss., 1789'))

> tax_auth(x)
<taxon_authority[4]>
[1] Linnaeus 1758 Cohn 1872     NA            Juss. 1789   

> tax_auth(x) <- tolower(tax_auth(x))
> tax_auth(x)[1] <- 'Billy'
> x
<taxon[4]>
[1] 9606|Homo sapiens Billy |species 1386|Bacillus cohn 1872|genus   
[3] 4890|Ascomycota na  |phylum      4345|Ericaceae juss. 1789|family
Rank levels: phylum < family < genus < species

tax_author(x)

设置和获取分类群的作者信息。

复制代码
> x <- taxon_authority(c('Cham. & Schldl.', 'L.'),
+                      date = c('1827', '1753'))

> tax_author(x)
[1] "Cham. & Schldl." "L."     
        
> tax_author(x)[1] <- "Billy"
> tax_author(x) <- tolower(tax_author(x))
> tax_author(x)
[1] "billy" "l." 

tax_cite(x)

设置和获取分类群的引用信息。

复制代码
> x <- taxon_authority(c('Cham. & Schldl.', 'L.'),
+                      date = c('1827', '1753'),
+                      citation = c(NA, 'Species Plantarum'))

> tax_cite(x)
[1] NA                  "Species Plantarum"

> tax_cite(x)[1] <- "Cham. et al 1984"
> tax_cite(x)
[1] "Cham. et al 1984"  "Species Plantarum"

tax_date(x)

设置和获取分类群的日期信息。

复制代码
> x <- taxon_authority(c('Cham. & Schldl.', 'L.'),
+                      date = c('1827', '1753'))

> tax_date(x)
[1] "1827" "1753"

> tax_date(x)[1] <- "1984"
> tax_date(x) <- c(NA, '1800')
> tax_date(x)
[1] NA     "1800"

tax_db(x)

设置和获取分类群的数据库信息。

复制代码
> x <- taxon_id(c('9606', '1386', '4890', '4345'), db = 'ncbi')

> tax_db(x)
<taxon_db[4]>
[1] ncbi ncbi ncbi ncbi

> tax_db(x) <- 'nbn'
> tax_db(x)[2] <- 'itis'
> tax_db(x)
<taxon_db[4]>
[1]  nbn itis  nbn  nbn

tax_id(x)

设置和获取类群的ID。

复制代码
> x <- taxon(name = c('Homo sapiens', 'Bacillus', 'Ascomycota', 'Ericaceae'),
+            rank = c('species', 'genus', 'phylum', 'family'),
+            id = taxon_id(c('9606', '1386', '4890', '4345'), db = 'ncbi'),
+            auth = c('Linnaeus, 1758', 'Cohn 1872', NA, 'Juss., 1789'))

> tax_id(x)
<taxon_id[4]>
[1] 9606 (ncbi) 1386 (ncbi) 4890 (ncbi) 4345 (ncbi)

> tax_id(x) <- paste0('00', tax_id(x))
> tax_id(x)[1] <- '00000'
> tax_id(x)
<taxon_id[4]>
[1] 00000  001386 004890 004345

tax_name(x)

设置和获取分类群名称。

复制代码
> x <- taxon(name = c('Homo sapiens', 'Bacillus', 'Ascomycota', 'Ericaceae'),
+            rank = c('species', 'genus', 'phylum', 'family'),
+            id = taxon_id(c('9606', '1386', '4890', '4345'), db = 'ncbi'),
+            auth = c('Linnaeus, 1758', 'Cohn 1872', NA, 'Juss., 1789'))

> tax_name(x)
[1] "Homo sapiens" "Bacillus"     "Ascomycota"   "Ericaceae"   

> tax_name(x) <- tolower(tax_name(x))
> tax_name(x)[1] <- 'Billy'
> tax_name(x)
[1] "Billy"      "bacillus"   "ascomycota" "ericaceae"

tax_rank(x)

设置和获取类群等级。

复制代码
> x <- taxon(name = c('Homo sapiens', 'Bacillus', 'Ascomycota', 'Ericaceae'),
+            rank = c('species', 'genus', 'phylum', 'family'),
+            id = taxon_id(c('9606', '1386', '4890', '4345'), db = 'ncbi'),
+            auth = c('Linnaeus, 1758', 'Cohn 1872', NA, 'Juss., 1789'))

> tax_rank(x)
<taxon_rank[4]>
[1] species genus   phylum  family 
Rank levels: phylum < family < genus < species

> tax_rank(x) <- 'species'
> tax_rank(x)[1] <- taxon_rank('family')
> tax_rank(x)
<taxon_rank[4]>
[1] family  species species species
Rank levels: family < species
相关推荐
用户5569188175332 分钟前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱14 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei17 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵2 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup112 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi002 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用