我有一個重複運行並為數據表中的每一行返回結果的腳本。我不能分解為表中每個單元格的操作,因此每次迭代都會返回一個結果向量,該向量對應於數據表中每一行的值。
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`);