R: предварительно выделить память для строк

Я объединяю очень длинные строки итеративно.

s = ""
for (i in 1:10^4)
{
   ############################
   ## Construct 'LongString' ##
   ############################

   s = paste0(s,LongString)
}

Этот процесс очень медленный, потому что при каждом вызове paste0 Функция R перераспределяет память. Есть ли способ предварительно выделить память s а потом просто залить объект?

1 ответ

Решение

Простой вариант:

s <- character(10^4)
for (i in 1:10^4){
   s[i] <- <build some string>
}
result <- paste(s,collapse = "")
Другие вопросы по тегам