在R中,如何用NA重复3次或更多次的相同字母替换单词?
例如cakkkkkkkkkkkkkkkeeeeeee
变为NA
。另一个例子是zzzzzzzzz
成为NA
。
答案 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)