Create a Plackett-Burman design with row order "Keep the Same" :
DOE(
Screening Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, -1, 1, "X1", 0 ),
Add Factor( Continuous, -1, 1, "X2", 0 ),
Add Factor( Continuous, -1, 1, "X3", 0 ),
Add Factor( Continuous, -1, 1, "X4", 0 ),
Add Factor( Continuous, -1, 1, "X5", 0 ),
Add Factor( Continuous, -1, 1, "X6", 0 ),
Add Factor( Continuous, -1, 1, "X7", 0 ),
Add Factor( Continuous, -1, 1, "X8", 0 ),
Add Factor( Continuous, -1, 1, "X9", 0 ),
Add Factor( Continuous, -1, 1, "X10", 0 ),
Add Factor( Continuous, -1, 1, "X11", 0 ),
Add Factor( Continuous, -1, 1, "X12", 0 ),
Add Factor( Continuous, -1, 1, "X13", 0 ),
Add Factor( Continuous, -1, 1, "X14", 0 ),
Add Factor( Continuous, -1, 1, "X15", 0 ),
Add Factor( Continuous, -1, 1, "X16", 0 ),
Add Factor( Continuous, -1, 1, "X17", 0 ),
Add Factor( Continuous, -1, 1, "X18", 0 ),
Add Factor( Continuous, -1, 1, "X19", 0 ), Set Random Seed( 1549927455 ),
Make Design( 1 ), Simulate Responses( 0 ), Save X Matrix( 0 )}
);
Reverse all signs in the design matrix (-1 to 1 and 1 to -1) :
// Recode columns
Local( {dt},
dt = Data Table( "Plackett-Burman" );
dt << Begin Data Update;
For Each( {colref, index},
{dt:X1, dt:X2, dt:X3, dt:X4, dt:X5, dt:X6, dt:X7, dt:X8, dt:X9, dt:X10, dt
:X11, dt:X12, dt:X13, dt:X14, dt:X15, dt:X16, dt:X17, dt:X18, dt:X19},
dt << Recode Column(
colref,
{Map Value( _rcOrig, {-1, 1, 1, -1}, Unmatched( _rcNow ) )},
Update Properties( 1 ),
Target Column( colref )
)
);
dt << End Data Update;
);
Change columns names and add the response values :
// Recode column names
Local( {dt = Data Table( "Plackett-Burman" ), names},
names = Recode(
dt << Get Column Names( String ),
{Map Value(
_rcOrig,
{"X1", "S", "X10", "J", "X11", "I", "X12", "H", "X13", "G", "X14", "F",
"X15", "E", "X16", "D", "X17", "C", "X18", "B", "X19", "A", "X2", "R",
"X3", "Q", "X4", "P", "X5", "O", "X6", "N", "X7", "M", "X8", "L", "X9",
"K"},
Unmatched( _rcNow )
)}
);
For Each( {name, i}, names, Column( dt, i ) << Set Name( name ) );
);