我试图理解递归的概念。然而,当我应用递归R函数时,它并不返回一个分割成所需数量的块的字符串。它只返回两个块。然而,我的目标是将一个长字符串分割成多个大小为n的较小字符串的块。我确信还有其他方法可以做到这一点。但我正在尝试找到一个递归的解决方案。任何帮助都是赞赏提前感谢。
# Sample dataset
x <- paste0(rep(letters, 10000), collapse = "")
split_group <- function(x, n = 10) {
if (nchar(x) < n) {
return(x)
} else {
beginning <- substring(x, 1, n)
remaining <- substring(x, (n + 1), (n + 1) + (n - 1))
c(beginning, split_group(remaining, n))
}
}
split_group(x = x, n = 10)
# Returns: "abcdefghij" "klmnopqrst" ""
2条答案
按热度按时间sbtkgmzw1#
使用〈=代替〈并修复剩余部分。
**2)**和一些没有递归的方法第一个是最短的,但第二个是最简单的,只使用了基R。
sr4lhrrt2#
base R
选项为