JMP Scripting Noob: Wie wird eine neue Spalte basierend auf dem Filtern von Daten aus zwei Spalten eingegeben?Hallo zusammen,
Ich liebe JMP wegen seiner Tools zum Erstellen von Grafiken, also fange ich gerade an, mich mit dem Skripting-Teil davon zu beschäftigen. Kann mir jemand bei dieser Anfrage helfen?
Ich habe zwei Spalten. Eine für die X-Koordinate und eine für die Y-Koordinate. Alles, was ich tun möchte, ist einfach eine neue Spalte zu erstellen, die Oben rechts / Oben links / Unten rechts / Unten links (LL) basierend auf der X- und Y-Koordinate auflistet ...
Also zum Beispiel...
wenn 0<5 und 0<5, als LL kennzeichnen
wenn 0<5 und 5<10, als UL kennzeichnen
wenn 5<10 und 0<5, als LR kennzeichnen
wenn 5<10 und 5<10, als UR kennzeichnen
Ich bin so verloren, ich wäre für jede Hilfe dankbar 

DatentabelleSkripterstellungRe: JMP Scripting Noob: Wie kann man eine neue Spalte basierend auf dem Filtern von Daten aus zwei Spalten eingeben?Dies kann leicht erfolgen, indem Sie herausfinden, welche Zeile die verschiedenen Kombinationen von Mindest- und Höchstwerten in der Datentabelle enthält.
names default to here( 1 );
dt = New Table( "Sample",
Add Rows( 4 ),
New Column( "x",
Set Values( [1, 1, 6, 6] )
),
New Column( "y",
Set Values( [1, 6, 1, 6] )
)
);
dt << new column("location", character, formula(
:location[(dt << get rows where(:x==col max(:x) & :y==col max(:y)))[1]]="UR";
:location[(dt << get rows where(:x==col max(:x) & :y==col min(:y)))[1]]="LR";
:location[(dt << get rows where(:x==col min(:x) & :y==col max(:y)))[1]]="UL";
:location[(dt << get rows where(:x==col min(:x) & :y==col min(:y)))[1]]="LR";
));

Re: JMP Scripting Noob: Wie kann man eine neue Spalte basierend auf dem Filtern von Daten aus zwei Spalten eingeben?Sie können dies ziemlich einfach mit Formeln in JMP tun, indem Sie X und Y separat prüfen und sie miteinander verketten.
So etwas wie das Folgende sollte funktionieren (nicht, dass ein Wert von 0,5 oder ein Wert über 10 überhaupt nicht kategorisiert wird):
If(0 < :y < 5, "L", 5 < :y < 10, "U") || If(0 < :x < 5, "L", 5 < :x < 10, "R")