我在R程序中有一个向量/数组,我希望找到“风”(调理或小写),并将全文替换为“风”。
> b
[1] "TORNADO" "TSTM WIND" "HAIL"
[4] "FREEZING RAIN" "SNOW" "ICE STORM/FLASH FLOOD"
[7] "SNOW/ICE" "WINDTER STORM" "HURRICANE OPAL/HIGH WINDS"
[10] "THUNDERSTORM WINDS" 例如,"TSTM风“就是”风“。“风暴”和“欧泊/强风”飓风...etc也将如此。
我试过了,但没有joy
> gsub("*WIND*","WIND",b,ignore.case=T)
[1] "TORNADO" "TSTM WIND" "HAIL"
[4] "FREEZING RAIN" "SNOW" "ICE STORM/FLASH FLOOD"
[7] "SNOW/ICE" "WINDTER STORM" "HURRICANE OPAL/HIGH WINDS"
[10] "THUNDERSTORM WINDS"
>这显示了那些符合我标准的人
> grepl("*WIND*",b,ignore.case=T)
[1] FALSE TRUE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE发布于 2014-10-22 20:23:16
因为要用相同的字符串替换所有匹配项,所以可以使用[<-
b[grepl("WIND", b)] <- "WIND"您也可以使用sub
sub(".*(WIND).*", "\\1", b)两者都导致
[1] "TORNADO" "WIND" "HAIL"
[4] "FREEZING RAIN" "SNOW" "ICE STORM/FLASH FLOOD"
[7] "SNOW/ICE" "WIND" "WIND"
[10] "WIND" 发布于 2014-10-22 20:22:24
最简单的解决方案是在stringr包中。
require(stringr)
str_replace_all(b, ignore.case(".*WIND.*"), "WIND")这应该能做你想要的。像这样的例子就是为什么要做出弦乐。
https://stackoverflow.com/questions/26516360
复制相似问题