Revo Scale R rxCube和其他开源并行包?

时间:2015-07-06 17:00:47

标签: r parallel-processing revolution-r

我有7200万观察数据框。它有两列,my_idmy_rand个变量。 数据框有大约600万个唯一my_id。我需要按my_rank计算平均值my_id(按my_id分组)。 我尝试运行上面的常规R命令,但它似乎冻结了R(可能数据太大而无法适应内存)。

avg_rank_by_id<-aggregate(dataframe1["my_rank"],by=dataframe1["my_id"], mean, na.rm=TRUE)

有没有办法运行Revo Scale R,例如rxCube等来达到目标​​?我在Linux上运行。它尝试下面,但得到了错误。

我是R的新手。除了Revo Scale R之外,还有另一款高性能计算开源R套件吗?感谢。

acct_avg_rank <- rxCube( N(m13_rank)~acct_id, data=payee_merge, means=TRUE, returnDataFrame=TRUE)

所有自变量必须是rxCuberxCrossTabs的因子:"acct_id"。 使用F(x)声明连续变量x将被视为一个因素。

  

rxCall错误(&#34; RxCrossTabs&#34;,params):
  电话:rxCube - &gt; rxCubeBase - &gt; rxCall - &gt; .CALL

1 个答案:

答案 0 :(得分:0)

您导入的acct_id似乎被视为numeric,而且需要factor

您有三种选择:
1.再次导入并使用colClasses = c(acct_id = "factor") 2.使用rxFactorsacct_id更改为factor 3.更改为公式中的factor

acct_avg_rank <- rxCube(N(m13_rank) ~ F(acct_id), data=payee_merge,
                        means=TRUE, returnDataFrame=TRUE)