R - 反转 gsub:只保留与 gsub 参数的匹配
R - invert gsub: keep only matches with gsub argument
我 运行 通过一个字符向量(大约 10,000 个条目),其中有很多我想丢弃的信息,但我想保留的信息也不少。我要保留的信息必须与另一个字符向量中的给定字符串相匹配。因此,这将是包含满足匹配条件的参数的 matching_points
向量:
matching_points <- "house|techno|pop|jazz|dreampop|artrock"
这就是我要清理的向量:
music <- c("tropical house", "tech house", "funk", "hardcore", "hard rock", "pop", "dream pop", "free jazz")
通过清理操作,我希望矢量 music
看起来像这样
[1] "house" "house" "" "" "" "pop" "pop" "jazz"
如果有人知道我该怎么做就太好了 - 我怀疑有一个简单的选项可以应用于 gsub
过程以反转过程,即保留那些东西匹配并用 ""
.
替换其他所有内容
你可以试试stringr
,
library(stringr)
str_extract(music, matching_points)
#[1] "house" "house" NA NA NA "pop" "pop" "jazz"
我 运行 通过一个字符向量(大约 10,000 个条目),其中有很多我想丢弃的信息,但我想保留的信息也不少。我要保留的信息必须与另一个字符向量中的给定字符串相匹配。因此,这将是包含满足匹配条件的参数的 matching_points
向量:
matching_points <- "house|techno|pop|jazz|dreampop|artrock"
这就是我要清理的向量:
music <- c("tropical house", "tech house", "funk", "hardcore", "hard rock", "pop", "dream pop", "free jazz")
通过清理操作,我希望矢量 music
看起来像这样
[1] "house" "house" "" "" "" "pop" "pop" "jazz"
如果有人知道我该怎么做就太好了 - 我怀疑有一个简单的选项可以应用于 gsub
过程以反转过程,即保留那些东西匹配并用 ""
.
你可以试试stringr
,
library(stringr)
str_extract(music, matching_points)
#[1] "house" "house" NA NA NA "pop" "pop" "jazz"