Insérer des sauts de ligne dans une longue chaîne

Voici une fonction que j'ai écrit pour briser une longue chaîne dans les lignes ne dépassent pas une longueur donnée

strBreakInLines <- function(s, breakAt=90, prepend="") {
  words <- unlist(strsplit(s, " "))
  if (length(words)<2) return(s)
  wordLen <- unlist(Map(nchar, words))
  lineLen <- wordLen[1]
  res <- words[1]
  lineBreak <- paste("\n", prepend, sep="")
  for (i in 2:length(words)) {
    lineLen <- lineLen+wordLen[i]
    if (lineLen < breakAt) 
      res <- paste(res, words[i], sep=" ")
    else {
      res <- paste(res, words[i], sep=lineBreak)
      lineLen <- 0
    }
  }
  return(res)
}

Il travaille pour le problème que j'avais, mais je me demande si je peux apprendre quelque chose ici. Est-il plus ou moins une solution plus efficace, en particulier puis-je me débarrasser de la boucle for?

source d'informationauteur Karsten W.