我有一个重复运行并为数据表中的每一行返回结果的脚本。我不能分解为表中每个单元格的操作,因此每次迭代都会返回一个结果向量,该向量对应于数据表中每一行的值。
dt=current data table();
nr=n rows(dt);
result=J(nr, 1, .)
/*
script body assigns values to result vector
*/
result;
我需要将此操作迭代数百或数千次,每次迭代大约需要 0.5 秒。我将所有返回的结果收集到矩阵中,然后进一步汇总。生成结果的顺序无关紧要。
如果这可以并行化/多线程,它会运行得更快。
我想使用具有语法的 Parallel Assign() 函数。我想我需要做的是创建一个全局变量结果矩阵 = [],将其传递给 Parallel Assign() 中使用的本地函数,然后在表达式的末尾附加结果向量到结果矩阵。结果矩阵会有天然橡胶行和n_迭代列。
</CODE></PRE>
<P>有关如何执行此操作的任何建议。最终需要做的是计算每一行的平均结果<STRONG>结果矩阵</STRONG>为数据表中的每一行获取赋值,即</P>
<PRE><CODE class=" language-jsl">final_result_vector = V Mean(results_matrix`);