我有两个数据文件。第一个是我正在编译数据的“主表”,相关列如下所示:
Family ID Size
Tyrannidae Empidonax traillii
Tyrannidae Empidonax atriceps
Conopophagidae Conopophaga lineata
其中 size 是我要填写的列。我需要将来的分析 ID 包含属名和种名。大小数据基于单独文件中的属(ID 中的第一个单词),如下所示:
Genus Size
Empidonax 13
Conopophaga 6
R 中是否有一种方法可以匹配 ID 列中的某些(而非全部)文本,然后填充到 Size 列中?期望的结果
Family ID Size
Tyrannidae Empidonax traillii 13
Tyrannidae Empidonax atriceps 13
Conopophagidae Conopophaga lineata 6
或者将 ID 列一分为二,填写 Size,然后将两者合并回来会更简单吗?
谢谢
最佳答案
如果 master
和 size
是您的数据框,您可以创建一个 Genus 列,然后使用 merge
获取合并的数据框。
#regex deletes all characters after a space
master$Genus <- gsub(" .*$","",master$ID)
merge(master,size,by="Genus")
关于r - 不匹配列中的整个文本以供引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14504381/