首页 > 解决方案 > 在 R 中缩短我的列值的一些名称

问题描述

我有一个包含物种列表的数据框,但是,在某些情况下,我的物种名称很短(例如,“Ajuga reptans”),但有时我有亚种名称(例如“Agrostis capillaris vinealis”或“Allium senescens ssp”蒙塔努姆”)。我正在寻找一种方法来缩短我所有物种的名称,以便从:

   species
1  Ajuga reptans
2  Agrostis capillaris vinealis
3  Allium senescens ssp  montanum

   species
1  Ajuga reptans
2  Agrostis capillaris 
3  Allium senescens 

所以,删除我的物种的结尾名称,只有当我的“物种名称”大于两个词时。

有什么建议么?我尝试使用gsub但不成功。

标签: r

解决方案


你可以使用 stringr::word-

df$species <- stringr::word(df$species, 1, 2)
df

#              species
#1       Ajuga reptans
#2 Agrostis capillaris
#3    Allium senescens

推荐阅读