在R中重复超过3次的相同字母的单词

时间:2018-01-17 12:19:45

标签: r

在R中,如何用NA重复3次或更多次的相同字母替换单词?

例如cakkkkkkkkkkkkkkkeeeeeee变为NA。另一个例子是zzzzzzzzz成为NA

2 个答案:

答案 0 :(得分:3)

我们可以使用str_detect

library(stringr)
ifelse(str_detect(str1, "([a-z])\\1{2,}"), NA, str1)
#[1] NA         NA         "abcd"     "aabbcbbd" NA    

数据

str1 <- c("cakkkkkkkkkkkkkkkeeeeeee", "zzzzzzzzz", "abcd", "aabbcbbd",  "aaabbcbbd") 

答案 1 :(得分:3)

与akrun类似的另一种方法是使用grepl

library(stringr)
ifelse(grepl("([a-zA-Z])\\1{2,}", str1), NA, str1)