Skript zum Suchen und Ersetzen eines numerischen Werts durch einen fehlenden Wert in der gesamten TabelleHallo,
Ich hätte gerne einen Code, der die Zahl 999 in der gesamten Tabelle findet und durch einen fehlenden Wert ersetzt.
TIA
Datenmischung und -bereinigungBetreff: Skript zum Suchen und Ersetzen eines numerischen Werts durch einen fehlenden Wert in der gesamten TabelleHallo @eliyahu100 ,
Sie haben bereits eine gute Antwort darauf, wie die Werte tatsächlich ersetzt werden, aber eine weitere zu berücksichtigende Option ist die Verwendung Fehlende Wertcodierung sodass JMP diese 999 Werte als fehlend behandelt. Dies ist für eine Tabelle beliebiger Größe schneller und behält die fehlenden Wertcodes in Ihrer Tabelle bei (sie werden jedoch nicht in Berechnungen oder Diagrammen verwendet). Nachfolgend finden Sie einige JSLs, um dies zu erreichen. Alternativ können Sie diese Eigenschaft auch interaktiv festlegen:
For( i = 1, i <= N Cols( dt ), i++,
Column(dt,i) << Set Property( "Missing Value Codes", {999} )
);
Ich hoffe das hilft!
@julianisch
Betreff: Skript zum Suchen und Ersetzen eines numerischen Werts durch einen fehlenden Wert in der gesamten TabelleHallo @eliyahu100 ,
Sie sollten in der Lage sein, eine einzelne Schleife beizubehalten, indem Sie einen weiteren Test in die For-Schleife einfügen, der die Spaltendaten oder den Modellierungstyp testet. Wenn == auf „kontinuierlich“ oder „numerisch“ gesetzt ist, werden die späteren Ersetzungsaktionen ausgeführt der 999 mit NaN.
Eine sehr gute Ressource, die alle Befehle in JMP enthält, ist der Skriptindex: Hilfe > Skriptindex. Sie können den Befehl eingeben (oder so ähnlich wie Sie denken) und es werden Vorschläge angezeigt. Wenn Sie den richtigen Befehl gefunden haben, gibt es immer ein Beispielskript, das Ihnen zeigt, wie dieser Befehl verwendet wird. Sehr hilfreiche und nützliche Ressource.
DS
Betreff: Skript zum Suchen und Ersetzen eines numerischen Werts durch einen fehlenden Wert in der gesamten TabelleDanke für den Code.
Bei den numerischen Spalten hat es gut funktioniert, aber für diejenigen, die char sind, habe ich eine weitere Schleife hinzugefügt:
For( i = 1, i <= N Rows( dt1 ), i++,
For( l = 1, l <= N Cols( dt1 ), l++,
If( Column( l )[i] == "999",
Column( l )[i] = ""
)
)
);
Alles Gute
Betreff: Skript zum Suchen und Ersetzen eines numerischen Werts durch einen fehlenden Wert in der gesamten TabelleMit dem Befehl „Cols > Recode“ können Sie den Code 999 interaktiv durch „missing“ ersetzen. Eine Erklärung dazu finden Sie in der JMP-Hilfe Neu kodieren . Für diesen Fall ist es vielleicht nicht die beste Wahl, aber es ist sehr leistungsstark und oft einfacher als das Schreiben eines Skripts.
Betreff: Skript zum Suchen und Ersetzen eines numerischen Werts durch einen fehlenden Wert in der gesamten TabelleHallo @eliyahu100 ,
Dieser Code sollte es tun. Wenn der Wert nicht 999 ist, können Sie ihn auf den zu überprüfenden Wert ändern.
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Rows( dt ), i++,
For( l = 1, l <= N Cols( dt ), l++,
If( Column( l )[i] == 999,
Column( l )[i] = .
)
)
);
Hoffe, das klappt!,
DS