如何加速R中的功能

时间:2013-07-19 20:40:55

标签: r performance

我在R中有以下说明,我用它来根据data$theme中包含长字符串的文本更改变量data$paragraph的值:

  lines <- grep('banana|apple', file$paragraph)  # lines that match search terms
  for (i in 1:length(lines)){
    data[lines[i], 'theme'] <- 'Fruit'
  }

此命令的问题在于使用大型数据集效率极低。我的真实案例有20多万行;我的计算机需要超过一秒才能完成每次替换,我将需要做超过4万个潜艇(我不能让我的整个脚本中的这一小步需要5个多小时才能完成)。我正在拼命寻找加快速度的方法,我打赌这是一个简单的解决方案,但我想不出更好的方法来实现目标。救命啊!

1 个答案:

答案 0 :(得分:4)

data[lines, 'theme'] <- 'Fruit'

R能够同时处理整个矢量。利用这一点可以加快速度。