R:为字符串预分配内存

时间:2016-03-15 19:05:38

标签: r string performance memory-management

我正在迭代地加入非常长的字符串。

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

   s = paste0(s,LongString)
}

此过程非常慢,因为在每次调用paste0函数时,R都会重新分配内存。有没有办法预先分配s的内存,然后只填充对象?

1 个答案:

答案 0 :(得分:1)

一个简单的选择:

s <- character(10^4)
for (i in 1:10^4){
   s[i] <- <build some string>
}
result <- paste(s,collapse = "")