Beim Erstellen mehrerer Variabilitätsdiagramme generiert JMP ein Skriptbeispiel ähnlich dem folgenden Code, das die mehreren Y-Antwortspalten als durch Kommas getrennte Liste enthält.
Variabilitätsdiagramm(
Y( :Col1, :Col2 ),
Modell( „Haupteffekt“),
X( :Einheit )
);
Wenn ich eine Liste von Spalten habe, für die ich Diagramme erstellen möchte:
ListofColumnNames= dt << Get Column Names();
ListofColumnNames= {Col1, Col2, ...}
Gibt es eine Möglichkeit, diese Liste zeilenweise zu erweitern, um im Wesentlichen dieselbe durch Kommas getrennte Liste zu erstellen, die JMP erstellt hat?
Variabilitätsdiagramm(
Y( Column(ListofColumnNames)), // Ich weiß, dass diese Syntax nicht funktioniert, aber die Absicht vermittelt.
Modell( „Haupteffekt“),
X( :Einheit )
);
Ich weiß, dass dies mit einer For-Schleife erreicht werden kann
Y( Column(ListofColumnNames[i])),
Ich habe mich aber gefragt, ob es eine Möglichkeit gibt, die For-Schleife zu vermeiden und das Variabilitätsdiagramm nur einmal aufzurufen, indem die gesamte Liste übergeben wird (aus Geschwindigkeitsgründen).
Ändern Sie die Column()-Funktion in eine Eval()-Funktion und alles sollte funktionieren.Hier ist ein funktionierendes Beispiel:
names default to here(1);
dt=
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
ListofColumnNames = dt << Get Column Names();
remove from(ListofColumnNames, 1, 4 );
// Just so there arn't so many columns to analyze
remove from(ListofColumnNames, 10, 118 );
Variability Chart(
Y( eval( ListofColumnNames ) ), // I know this syntax does not work, but conveys the intent.
Model( "Main Effect" ),
X( :lot_id )
);
Danke schön. Das hat genau so funktioniert, wie ich es wollte.