用於單向分析的動態 Y 變量大家好你們好,
我正在嘗試為單向分析編寫一個動態 Y 變量的腳本,然後將平均值輸出到一個組合表中。 這是正確的方法嗎?
dt = Data Table ("Analysis");
ColNamesList = d1 << get column names (string );
For( i = N Items( ColNamesList ), i >= 1, i--,
OW = (dt << Oneway( Y( Column(ColNamesList) ),
X(:SITE),
Mean ( 1 ),
Automatic Recalc( 0 )
)) << Report;
);
dtCombined = Report( OW[1] )[Table Box( 1 )] << Make Combined Data Table;提前致謝 !
分析數據表腳本回复:用於單向分析的動態 Y 變量運行它:它適用於您的桌子嗎?
如果是,這是正確的方法!
如果沒有,請告訴我們您在哪裡遇到麻煩?
回复:用於單向分析的動態 Y 變量抱歉,我不小心點擊了解決方案按鈕。
該腳本沒有提示任何錯誤。 但是,也沒有圖表被視為輸出。
腳本日誌僅顯示可編寫腳本。
回复:用於單向分析的動態 Y 變量親愛的@XiangCD_MP_User ,我的腳本有幾個問題。 如果我得到你的任務,它是通過 :site 對數據表的每個連續列進行單向分析,並用平均值保存數據表。
如果是這樣,我會這樣做:
或者,還有其他可能性,例如將所有內容放在一個“Fit Group”聲明中。 最好的方法取決於你的腳本技能,以及它應該運行的確切環境。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// dt = Data Table ("Analysis");
OW_lst = {};
ColNamesList = dt << get column names( string, "Continuous" );
// When using single report windows, you would need to collect the result table from each of them
/*
For( i = N Items( ColNamesList ), i >= 1, i--,
Insert Into( OW_lst, dt << Oneway( Y( Column( ColNamesList[i] ) ), X( :sex ), Means( 1 ), Automatic Recalc( 0 ) ) )
);
*/
// Generate new report window to collect all analyses
nw = New Window( "Oneway Collection",
hlb = H List Box(
For( i = N Items( ColNamesList ), i >= 1, i--,
// collect references to each analysis in OW_lst
Insert Into( OW_lst, dt << Oneway( Y( Column( ColNamesList[i] ) ), X( :sex ), Means( 1 ), Automatic Recalc( 0 ) ) )
)
)
);
// Message will collect all similar tables in one data table
dtCombined = Report( OW_lst[1] )[Table Box( 1 )] << Make Combined Data Table;
// Alternatively you would be able to get the same result w/o working with a list like follows
//(nw << XPATH( "//TableBox" ))[2] << Make Combined Data Table;回复:用於單向分析的動態 Y 變量@XiangCD_MP_User ,
您可以嘗試使用分析>篩選菜單下的響應篩選。 您仍然可以將列名列表傳遞到 Y 變量佔位符中。 響應篩選的輸出將允許紅色三角形中的選項保存每個 X 水平的平均值或具有每個 Y 平均值的 Pvalues 表。
此外,如果您找到與字符串匹配的所有列並將它們放入列表中(看起來就像您正在做的那樣),您可以在 Response Screening 的 Y 變量中使用變量名稱(使用 Eval())。 或者,您可以將它們分組到一個列組中,並在響應篩選中引用該列組。 實際上它會像你想要的那樣循環,它是動態的。
就像是:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Response Screening(
X( :Process ),
Y( Column Group( "Responses" ) ),
PValues Table on Launch( 1 ),
Save Means
);
這會輸出每次比較的 p 值以及 Y 的平均值。