我有下面的向量。
column_names <- c("6Li", "7Li", "10B", "11B", "7Li.1",
"205Pb", "206Pb", "207Pb", "238U",
"206Pb.1", "238U.1")
注意,有些值只是重复的,末尾有一个“.1”,我想索引出所有这些字符串沿着它们对应的匹配字符串,这样就只返回以下内容。
#[1] "7Li" "7Li.1" "206Pb" "238U" "206Pb.1" "238U.1"
假设你不知道索引的位置,所以你不能简单地索引这些值如下column_names[c(2,5,7,9,10,11)]
,我如何使用模式匹配来提取这些值?
3条答案
按热度按时间6jygbczu1#
可能有一个更优雅的解决方案,但在基R中,您可以尝试
grep
/gsub
和paste
的组合:pbossiut2#
使用
gsub()
和duplicated()
查找具有重复词干的值:要同时查找以
.2
、.3
等结尾的示例,请在gsub()
中使用"\\.\\d+"
而不是"\\.1"
。vbopmzt13#
您可以使用
stringr
:这将返回