R:提高将数据从小表复制到大表的性能

时间:2016-03-02 23:08:48

标签: r performance data.table

所需流程

我正在做一个非常标准的程序。我希望通过尊重共享值,在名为SMALL的大数据表中输入名为a的{​​{1}}列的小数据表中的条目b在列BIGvalue1

以下是这项工作,但对我的目的来说太慢了

value2

备注

  • 对于BIG$a = 0 BIG$b = 0 for (value1 in unique(SMALL$value1)) { for (value2 in unique(SMALL$value2[SMALL$value1==value1])) { position_BIG = BIG$value1 == value1 & BIG$value2 == value2 position_SMALL = SMALL$value1 == value1 & SMALL$value2 == value2 BIG$a[position_BIG] = SMALL$a[position_SMALL] BIG$b[position_BIG] = SMALL$b[position_SMALL] } } value1的每个组合,value2中始终只有一个条目,SMALL中至少有一个条目
  • 大约有10个独特的BIG
  • 大约有200个唯一值value1
  • value2包含约2000行
  • SMALL包含大约10 ^ 9行

问题

  • 有没有办法提高此操作的速度?
  • BIG会在这里有任何帮助吗?
  • 如果先写出向量RccpBIGa然后再做BIGbBIG$a=BIGa
  • ,会有所作为吗?
  • 在“慢速部分”的“等式”的右侧使用BIG$b=BIGb会有帮助吗?

0 个答案:

没有答案