你好
我已經使用子集來生成8個因子的所有因子,例如2個活動因子以F1開始,F2開始,F3開始,直到因子F7與F8,所以我使用循環收縮直到找到6個活躍因子中的8個
當我嘗試評估所有設計時,我的問題是它只顯示一個設計,所以其他所有27個設計都沒有評估循環
我希望我的劇本可以解釋我想要的東西。
dt2_5_2=New Table( "First Example",
Add Rows( 17 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 1, 1, 0, 1, 0, 1, 1] )
),
New Column( "Column 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 1, 0, 1, 0, 1, -1, 1, 0, -1, -1, 0, -1, 0, -1, 1, -1] )
),
New Column( "Column 3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 0, 1, -1, 1, -1, -1, 0, 0, -1, 0, -1, 1, -1, 1, 1, 0] )
),
New Column( "Column 4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [0, -1, 1, 1, -1, -1, 0, 1, 0, 0, 1, -1, -1, 1, 1, 0, -1] )
),
New Column( "Column 5",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 0, -1, 1, 1, -1, 1, 0, 0, -1, 0, 1, -1, -1, 1, -1, 0] )
),
New Column( "Column 6",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [0, -1, 1, 1, 1, 1, 0, -1, 0, 0, 1, -1, -1, -1, -1, 0, 1] )
),
New Column( "Column 7",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 1, 1, 0, -1, 0, 1, -1, 0, -1, -1, -1, 0, 1, 0, -1, 1] )
),
New Column( "Column 8",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [1, -1, 0, -1, 0, 1, 1, 1, 0, -1, 1, 0, 1, 0, -1, -1, -1] )
),
Set Row States( [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] )
);
NamesDefaultToHere(1);
dt = DataTable("First Example");
cols = dt << getColumnNames;
for(c1 = 1, c1<= NItems(cols), c1++,
for(c2 = c1+1, c2 <= NItems(cols), c2++,
for(c3= c2+1, c3 <= NItems(cols), c3++,
for(c4= c3+1, c4 <= NItems(cols), c4++,
for(c5= c4+1, c5 <= NItems(cols), c5++,
for(c6= c5+1, c6 <= NItems(cols), c6++,
//dt << Subset(Columns(cols[c1], cols[c2]))
//dt << Subset(Columns(cols[c1], cols[c2], cols[c3]));
//dt << Subset(Columns(cols[c1], cols[c2], cols[c3], cols[c4]));
//dt << Subset(Columns(cols[c1], cols[c2], cols[c3], cols[c4], cols[c5]));
dt << Subset(Columns(cols[c1], cols[c2], cols[c3], cols[c4], cols[c5], cols[c6]));
DOE(
Evaluate Design,
X( :Column 1, :Column 2, :Column 3, :Column 4, :Column 5, :Column 6 ),
{Add Term( {1, 0} ), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Term( {4, 1} ), Add Term( {5, 1} ), Add Term( {6, 1} ),
Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 1} ),
Add Alias Term( {1, 1}, {4, 1} ), Add Alias Term( {1, 1}, {5, 1} ),
Add Alias Term( {1, 1}, {6, 1} ), Add Alias Term( {2, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {4, 1} ), Add Alias Term( {2, 1}, {5, 1} ),
Add Alias Term( {2, 1}, {6, 1} ), Add Alias Term( {3, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {5, 1} ), Add Alias Term( {3, 1}, {6, 1} ),
Add Alias Term( {4, 1}, {5, 1} ), Add Alias Term( {4, 1}, {6, 1} ),
Add Alias Term( {5, 1}, {6, 1} )}
);
);
);
);
);
);
);
非常感謝
瑪
問題是您已經將列名稱列1,列2,...,列6硬編碼到腳本的DOE(評估設計,...)部分,並且只有從您的循環生成的第一個子集包含一組列。
試試這個:
For( c1 = 1, c1 <= N Items( cols ), c1++,
For( c2 = c1 + 1, c2 <= N Items( cols ), c2++,
For( c3 = c2 + 1, c3 <= N Items( cols ), c3++,
For( c4 = c3 + 1, c4 <= N Items( cols ), c4++,
For( c5 = c4 + 1, c5 <= N Items( cols ), c5++,
For( c6 = c5 + 1, c6 <= N Items( cols ), c6++,
//dt << Subset(Columns(cols[c1], cols[c2]))
//dt << Subset(Columns(cols[c1], cols[c2], cols[c3]));
//dt << Subset(Columns(cols[c1], cols[c2], cols[c3], cols[c4]));
//dt << Subset(Columns(cols[c1], cols[c2], cols[c3], cols[c4], cols[c5]));
dt2 = dt << Subset(
Columns(
cols[c1],
cols[c2],
cols[c3],
cols[c4],
cols[c5],
cols[c6]
)
);
dt2 << Evaluate Design(
X(
cols[c1],
cols[c2],
cols[c3],
cols[c4],
cols[c5],
cols[c6]
),
{Add Term( {1, 0} ), Add Term( {1, 1} ),
Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Term( {4, 1} ), Add Term( {5, 1} ),
Add Term( {6, 1} ), Add Alias Term( {1, 1}, {2, 1} ),
Add Alias Term( {1, 1}, {3, 1} ),
Add Alias Term( {1, 1}, {4, 1} ),
Add Alias Term( {1, 1}, {5, 1} ),
Add Alias Term( {1, 1}, {6, 1} ),
Add Alias Term( {2, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {4, 1} ),
Add Alias Term( {2, 1}, {5, 1} ),
Add Alias Term( {2, 1}, {6, 1} ),
Add Alias Term( {3, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {5, 1} ),
Add Alias Term( {3, 1}, {6, 1} ),
Add Alias Term( {4, 1}, {5, 1} ),
Add Alias Term( {4, 1}, {6, 1} ),
Add Alias Term( {5, 1}, {6, 1} )}
);
Close(dt2, no save);
)
)
)
)
)
);您會注意到我將列引用更改為cols [c1],cols [c2]等。 我還在生成Evaluate Design報告後命名子集數據表dt2並關閉每個子集數據表,以免在JMP中進一步混亂您的工作區。