<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich muss eine Formel auf viele Spalten anwenden. Was ist der beste Weg, um dies zu schreiben?
Ich möchte diese Formel beispielsweise auf jede Spalte der Football.jmp-Tabelle anwenden:
Neue Spalte ( "Höhenrang vom Mittelwert" .
Numerisch .
"Kontinuierlich" .
Format ( "Beste" . 12 ) .
Formel ( Col Rank ( Abs ( Col Mean ( : Höhe ) - : Höhe ) ) )
)
Ich habe ein paar Dinge ausprobiert - keine großartig. Ich könnte die Spalten entweder von Hand auswählen oder einen Dialog verwenden. Vielen Dank!
Eine Möglichkeit besteht darin, eine Liste mit den gewünschten Spaltennamen zu erstellen und diese Liste zu durchlaufen, um bei jeder Wiederholung eine neue Formelspalte zu erstellen:
dt = Datentabelle ( "Football.jmp" ) ;
Cols = dt << Spaltennamen erhalten ( Numerisch ) ; // Liste aller numerischen Spalten
// Kommentarzeile unten, um Spalten manuell auszuwählen
// cols = dt << ausgewählte Spalten abrufen;
Zum ( ich = 1 . ich <= N Artikel ( Cols ) . ich ++
F = Eval Expr ( Col Rank ( Abs ( Col Mean ( Ausdruck ( Cols [ ich ])) - Ausdruck ( Cols [ ich ])))) ;
dt << Neue Spalte ( Cols [ ich ] << Name bekommen || "Rang von Mittelwert" .
Numerisch .
"Kontinuierlich" .
Format ( "Beste" . 12 ) .
Formel ( Name Ausdruck ( F ))
) ;
) ;