Re:每次循環運行時更新文件(JSL)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我上傳了我在上面腳本中使用的數據文件(我在運行我的腳本時導入XL)
我的劇本是: -
Clear Globals();
dt = open();
K = 5;
collect_means = {}; collect_stdevs = {}; collect_group_std = {};
對於(l = 1,l <= 2,l ++,
顯示(K);
對於(i = 1,i <= 3,i ++,// 3次
nt = dt <<子集(
輸出表(“子集”),
樣本量(k),//樣本為5
);
總結(m = Mean(:Data),s = Std Dev(:Data));
插入(collect_means,m,0);
Insert Into(collect_stdevs,s,0);
// close(“subset”,nosave);
);
新表(“最終”,
新列(“表示”,設置值(collect_means)),
新列(“stddevs”,設置值(collect_stdevs)),
//新列(“Group Std”,Formula(col std dev(:means)))
);
// pt << Summary(Group,Std Dev(:means));
pt =數據表(“最終”)<<總結(p = std dev(:means));
Insert Into(collect_group_std,p,0);
//關閉(“最終”,NOSAVE);
k = k + 5;
);
新表(“組”,新列(“匯總組”,設置值(collect_group_std)));
每次外部For循環運行時,必須更新上述腳本中的“Final”表。但是現在,“FInal Sheet”沒有得到更新並使用之前的“Final”表(使用上一次迭代中的表格。)可以幫助一些人,以便每次都使用新值更新“Final”表。
Re:每次循環運行時更新文件(JSL)順便說一句,使用列表和很多中間表不是很有效。這裡所有數據都是數字的,除了作為數據的臨時持有者之外,子集和Final tabler似乎沒什麼興趣。在這種情況下,我建議使用矩陣代替更高效的矩陣,尤其是對於大型數據集。
試試這個並將性能與上面的腳本進行比較:
清除全球 () ;
DT = 數據表 ( “樣本數據” ) ;
collect_group_std = [] ;
KS = [] ;
對於 ( ķ = 五 , ķ <= 10 , ķ = ķ + 五 ,
collect_means = [] ;
KS = KS | / ķ ;
對於 ( 一世 = 1 ,一世 <= 3 ,一世 ++, //3次
子 = 隨機索引 ( N行 ( DT ) , ķ ) ;
collect_means = collect_means | / 意思 ( DT : 數據 [ 子 ] ) ;
節目 ( collect_means ) ;
) ;
collect_group_std = collect_group_std | / Std Dev ( collect_means ) ;
) ;
新表 ( “組” ,新欄目 ( “K” , setValues方法 ( KS ) ) ,新欄目 ( “小組” ,設定值 ( collect_group_std ) ) ) ;
Re:每次循環運行時更新文件(JSL)摘要功能不應用作消息。使用具有相同列名的多個表時,最好還明確地將表包含在上下文中(ed dt:Data而不僅僅是:Data)。 雖然我不確定你想要在這裡實現什麼,但不應該是列表為每個外部for循環重置collect_means和collect_stdevs?
以下是您的代碼,稍作修改。
清除全球 () ;
DT = 數據表 ( “樣本數據” ) ;
ķ = 五 ;
collect_group_std = {} ;
對於 ( 升 = 1 ,升 <= 2 ,升 ++,
collect_means = {} ;
collect_stdevs = {} ;
節目 ( ķ ) ;
對於 ( 一世 = 1 ,一世 <= 3 ,一世 ++, //3次
NT = DT << 子集 (
輸出表 ( “子集” ) ,
樣本量 ( ķ ) , //樣本5
) ;
總結 ( 米 = 意思 ( NT : 數據 ) ,小號 = Std Dev ( NT : 數據 ) ) ;
插入 ( collect_means ,米 , 0 ) ;
插入 ( collect_stdevs ,小號 , 0 ) ;
//關閉(nt,nosave);
) ;
PT = 新表 ( “最後” ,
新欄目 ( “手段” ,設定值 ( collect_means ) ) ,
新欄目 ( “stddevs” ,設定值 ( collect_stdevs ) ) ,
) ;
總結 ( p = Std Dev ( PT : 手段 ) ) ;
插入 ( collect_group_std , p , 0 ) ;
//關閉(pt,nosave);
ķ = ķ + 五 ;
) ;
新表 ( “組” ,新欄目 ( “小組” ,設定值 ( collect_group_std ) ) ) ;