<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo Leute,
Ich frage mich nur, ob es irgendwie möglich ist, ein Skript zu schreiben, das die geteilten Kandidaten aus einer Partitionsanalyse in einer Datentabelle herauszieht, geordnet nach Logworth. Dies kann manuell erfolgen, wenn Sie ein Partitionsmodell anpassen und mit der rechten Maustaste auf den Kandidatenbereich klicken.
Perfekter David, genau das, wonach ich gesucht habe
Scott
Ich mache das ziemlich oft.Hier ist ein Beispiel für den Code, den ich verwende
( Die Antwort auf Ihre Frage sind die 4 Zeilen im Abschnitt "Extraktion der Kandidatentabelle" ! )
// Beispieldaten
dt = Offen ( "$SAMPLE_DATA/Fitness.jmp" ) ;
dtName = dt << Namen bekommen ;
// Antwortvariable auswählen
Spaltennamen = dt << Spaltennamen abrufen ( Zeichenfolge) ;
nw = Neues Fenster ( "Wähle Y" , <
Pfund = Listenfeld ( Spaltennamen , MaxAusgewählt( 1 ) , < ( 5 ))
) ;
Wenn (nw[ "Taste" ] ==- 1 , Wurf ()) ;
sel = Pfund << Ausgewählt werden ;
Wenn ( Nitems ( Sel) == 0 ,
Wurf ()
,
yCol = sel[ 1 ]
) ;
// Alle anderen Spalten als x-Variablen verwenden
Pos = Lok ( Spaltennamen , yCol) ;
xCols = Entfernen ( Spaltennamen , Pos[ 1 ]) ;
// Namensspalte löschen
Entfernen von ( xCols , 1 ) ;
// Starten Sie die Partitionsplattform
klopfen = Partition(
Y( Bewertung ( yCol) ) ,
X( Bewertung ( xSpalten) ) ,
) ;
// die Kandidatentabelle extrahieren
rep = klopfen << Bericht ;
candTab = rep[ "Kandidaten" ][ TableBox ( 1 )] ;
candDt = candTab << In Datentabelle machen ;
rep << Fenster schließen ;
// die Kandidatentabelle sortieren
candDt << Sortieren ( Durch( : Logwert ) , Reihenfolge (Absteigend) , Tabelle ersetzen ) ;
// i-Tüpfelchen - füge ein Skript hinzu, damit die Zeilenauswahl erfolgt
// in dieser Tabelle generiert Spaltenauswahlen in der Quelltabelle
Bewertung ( Analysieren ( Eval-Einsatz ( "\[
candDt << Neues Skript(
"Spalten auswählen",
cdt = Aktuelle Datentabelle ();
rows = cdt << Ausgewählte Zeilen abrufen;
lstNames = Column(cdt,"Term")[Zeilen];
Datentabelle("^dtName^") << Spaltenauswahl löschen;
Für (i=1,i<=NItems(lstNames),i++,
Column( Datentabelle("^dtName^"), lstNames ) << Auswahl festlegen(1)
)
)
]\" ))) ;
Das Endergebnis ist eine Tabelle, die wie folgt aussieht:

Ich habe den Code für das Select Columns-Skript an diese Tabelle angehängt, da ich es besonders nützlich finde.Wenn Sie also beispielsweise die ersten drei Zeilen in dieser Kandidatentabelle auswählen, werden beim Ausführen des Skripts die entsprechenden Spalten in der Quelldatentabelle ausgewählt.Nützlich, wenn Sie viele Spalten haben.
- David