# Input n <- 2 "abcd" # Output c("ab", "bc", "cd")
我不想使用for循环或sapply
for
sapply
m528fe3b1#
您可以使用substring-
substring
get_n_grams <- function(string, n) { len <- nchar(string) substring(string, seq_len(len - n + 1), n:len) } get_n_grams("abcd", 2) #[1] "ab" "bc" "cd" get_n_grams("abcd", 3) #[1] "abc" "bcd"
piah890a2#
这个embed技巧可以工作,但可能不如substring approach by @Ronak Shah有效
embed
> n <- 2 > s <- "abcd" > apply(embed(utf8ToInt(s), n)[, n:1], 1, intToUtf8) [1] "ab" "bc" "cd"
2条答案
按热度按时间m528fe3b1#
您可以使用
substring
-piah890a2#
这个
embed
技巧可以工作,但可能不如substring
approach by @Ronak Shah有效