r - 不匹配列中的整个文本以供引用

标签 r text merge

我有两个数据文件。第一个是我正在编译数据的“主表”,相关列如下所示:

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,然后将两者合并回来会更简单吗?

谢谢

最佳答案

如果 mastersize 是您的数据框,您可以创建一个 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/

相关文章:

MySQL查询主要非数字值

jquery - (event.target).text() 返回 url 而不是文本

javascript - 如何将文本添加到由 css、html 和 javascript 制作的图表的不同部分?

oracle - 如何从oracle合并查询返回主键

pdf - 合并的 PDF 空白

r - foreach %dopar% 写入同一个文件

使用数字随机分配而不替换

r - 如何在 R 中为函数添加红线

r - 识别直方图中的点

Git 从原点 merge 分支