私はRを初めて使用します。これで、次のような機能があります。
funItemAverRating = function()
{
itemRatingNum = array(0, itemNum);
print("begin");
apply(input, 1, function(x)
{
itemId = x[2]+1;
itemAverRating[itemId] <<- itemAverRating[itemId] + x[3];
itemRatingNum[itemId] <<- itemRatingNum[itemId] + 1;
}
);
}
この関数では、入力はn*3
データフレームでn
あり~6*(10e+7)
、itemRatingNum
は、サイズのベクトルです~3*(10e+5)
。
私の質問は、なぜapply
関数がとても遅いのですか(終了するのに1時間近くかかるでしょう)?また、関数が実行されると、ますます多くのメモリを使用します。しかし、ご覧のとおり、変数はすべてapply
関数の外部で定義されています。誰か助けてもらえますか?
チェン