Re: JMP Script : Erstellung einer neuen ListeWenn Sie JMP16+ haben, ist unten eine Option, die Filter Each verwendet und mit IsMissing prüft, ob die Spalte nur fehlende Werte enthält
Names Default To Here(1);
input_list = {"height", "Weight", "Age"};
dt = New Table("Untitled 6",
Add Rows(2),
Compress File When Saved(1),
New Column("_LimitsKey", Character, "Nominal", Set Values({"_UCL", "_LCL"})),
New Column("height", Numeric, "Continuous", Format("Best", 12), Set Values([54, 72])),
New Column("Weight", Numeric, "Continuous", Format("Best", 12), Set Values([80, 150])),
New Column("Age", Numeric, "Nominal", Format("", 16), Set Values([., .]))
);
new_list = Filter Each({list_val}, input_list,
found_values = Sum(!IsMissing(dt[0, list_val]));
found_values > 0;
);
show(new_list);
Das Hinzufügen von Debug-Ausdrucken in Filter Each kann hilfreich sein, um zu verstehen, was vor sich geht. Wie zum Beispiel
Show(dt[0, list_val]);
Show(IsMissing(dt[0, list_val]));
Show(!IsMissing(dt[0, list_val]));
show(found_values);
Es gibt auch viele andere Möglichkeiten, dies zu tun (wie meistens mit jmp)
Re: JMP Script : Erstellung einer neuen ListeGroßartig, es funktioniert gut! Vielen Dank!
Ich möchte eine if-Bedingung auf dieser Grundlage implementieren:
Wenn die Y-Spalte in der erstellten list_val enthalten ist, dann ...
Wie kann ich diese Bedingung schreiben?
If (Eval(Y) <FONT color="#FF0000">!=</FONT> list_val,
...
Ich denke, das != ist nicht angepasst ...
Irgendeine Idee?
Re: JMP Script : Erstellung einer neuen ListeVerwenden Enthält() mit If(), um zu prüfen, ob ein Element in einer Liste gefunden wurde
Contains({"a","b","c"}, "b");
oder Sie können verwenden Enthält Artikel()
Contains Item("b", {"a","b","c"});Re: JMP Script : Erstellung einer neuen ListeDanke für deine Antwort,
Es sollte funktionieren, aber JMP mag Eval(Y) nicht und gibt immer 0 zurück:
r=Contains(list_val, Eval(Y))
Zur Information, das Y wird so gemacht:
Y = concat(Y," (ppm)");
Irgendeine Idee?
Sebastian
Re: JMP Script : Erstellung einer neuen ListeIch bin mir nicht ganz sicher, was du vorhast? Warum verwenden Sie Eval? Normalerweise ist es einfacher, Spaltennamen als Zeichenfolgen zu behandeln und sie dann bei Bedarf auf irgendeine Weise in Spaltenreferenzen umzuwandeln
Re: JMP Script : Erstellung einer neuen ListeIch verwende das Eval, weil es auf der Benutzerauswahl und dann der Verkettung basiert:
Y = concat(Y," (ppm)");
Dann muss ich feststellen, ob diese Benutzerauswahl in der Liste zu finden ist:
r=Contains(list_val, Eval(Y))
Ich habe dies auch versucht
r=Contains(list_val, Y)
Aber auch immer 0 zurückgeben ...
JMP-Skript: Erstellung einer neuen ListeHallo zusammen,
Ich habe eine Liste namens Y_list erstellt, die Variablennamen enthält. Aus dieser Liste möchte ich eine neue Liste erstellen, die nur die Variablennamen enthält, die Werte im Datensatz enthalten.
Beispiel:
Y_list enthält {"height", "Weight", "Age"}
| _LimitsKey | Höhe | Gewicht | Alter |
| _UCL | 54 | 80 | |
| _LCL | 72 | 150 | |
Da die Zeile „Alter“ keinen Wert enthält, möchte ich eine neue Liste erstellen, die nur Variablennamen enthält, die Daten enthalten:
Y_new_list ==> {"height", "Weight"}
Allerdings weiß ich nicht, wie ich diese neue Liste mit dem JMP-Skript erstellen soll.
Haben Sie einen Vorschlag, der mir helfen könnte?
Vielen Dank
Sebastian
Erweiterte statistische ModellierungAutomatisierung und Skripterstellung