Family ID SizeTyrannIDae EmpIDonax trailliiTyrannIDae EmpIDonax atricepsConopophagIDae Conopophaga lineata
大小是我想要填写的列.我需要将来的分析ID包含属和物种名称.大小数据基于类别(ID中的第一个单词)在单独的文件中,如下所示:
Genus SizeEmpIDonax 13Conopophaga 6
在R中是否有一种方法可以在ID列中匹配某些(而非全部)文本,以便能够填写“大小”列?期望的结果
Family ID SizeTyrannIDae EmpIDonax traillii 13TyrannIDae EmpIDonax atriceps 13ConopophagIDae Conopophaga lineata 6
或者将ID列拆分为两个更简单,填写Size然后将两者合并在一起?
谢谢
解决方法 由于data.table使X [Y]看起来非常合适.因此,这是一个data.table解决方案:require(data.table)master <- data.table(Family=c("TyrannIDae","TyrannIDae","ConopophagIDae"),ID = c("EmpIDonax traillii","EmpIDonax traillii","Conopophaga lineata"))dt <- data.table(Genus = c("EmpIDonax","Conopophaga"),Size = c(13,6))# get Genusmaster[,Genus := gsub(" .*$","",ID)] # master$ID replaced by ID# set key to Genussetkey(master,"Genus")> master[dt] # X[Y]# Genus Family ID Size# 1: EmpIDonax TyrannIDae EmpIDonax traillii 13# 2: EmpIDonax TyrannIDae EmpIDonax traillii 13# 3: Conopophaga ConopophagIDae Conopophaga lineata 6总结
以上是内存溢出为你收集整理的在列中不匹配整个文本以供参考全部内容,希望文章能够帮你解决在列中不匹配整个文本以供参考所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)