我有一个包含2列的数据框A-字符串和代码:
String Code
Bacteria.111 abc1
Bacteria.111 abc2
Bacteria.111 abc3
Archaea.153 gmt1
Archaea.153 gmt2
我有另一个数据框B,其中包含上面细菌/古细菌之后的数字应该是什么代码的列表:
Number Code
111 abc2
153 gmt1
我想做的是从数据框A中删除细菌/古细菌后编号不正确的行。因此,例如由此产生的数据帧应为:
String Code
Bacteria.111 abc2
Archaea.153 gmt1
我尝试使用%in%,但这使用完全匹配,因此没有匹配项。我所需要的是匹配数字,该数字始终位于字符串的末尾,并且始终跟随一个句点。我不知道如何实现这一目标。
您可以%in%
在粘贴列时使用sub
,并用于删除之前的所有内容.
。
A[paste(sub(".*\\.", "", A$String), A$Code) %in% paste(B$Number, B$Code),]
# String Code
#2 Bacteria.111 abc2
#4 Archaea.153 gmt1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句