So ersetzen Sie fehlende Werte mit „0“ mithilfe von JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Wie ersetze ich fehlende Werte mit „0“ mithilfe von JSL?
Ich kann dies manuell mit „Alle suchen und ersetzen“ tun, aber ich muss es in einen Code integrieren, der jeden Tag automatisch ausgeführt wird.
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLDies funktioniert, wenn ich es über ein Skriptfenster mit der Wiedergabetaste ausführe, aber nicht innerhalb eines Debuggers oder wenn ich es per Autorun der .jsl starte.
dtLongestWaitStates << set name( "LongestWaitStates" );
dtLongestWaitStates = Current Data Table();
nc = dtLongestWaitStates << get column names( numeric );
For( i = 1, i <= N Items( nc ), i++,
nc[i][dtLongestWaitStates << get rows where( Is Missing( nc[i][] ) )] = 0
);
RaginCajun
JMP13.2.1
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLAbsolut, ich weiß das Wort der Vorsicht zu schätzen.Ich habe sicher nicht darüber nachgedacht.
Denken Sie auch daran, dass fehlende Daten wertvolle Daten sein können und es manchmal am besten ist, sie so zu belassen, wie sie sind!
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLDas ist alles wahr.Ich hatte das Gefühl, es wäre an der Zeit, eine Warnflagge aufzustellen.Nur weil wir dürfen Etwas in JMP tun bedeutet nicht immer, dass wir sollen .
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLIhre Aussagen sind zwar wahr, gehen jedoch von Annahmen über die Daten aus.Vielleicht sind seine Daten zum Beispiel nicht kontinuierlich?Manchmal wird 0 nicht aufgezeichnet und stattdessen als fehlend belassen.Wenn jemand versuchen würde, eine Oneway-Analyse durchzuführen und dabei 0 als falsch und 1 als wahr verwendet Sie hätten ein Problem, wenn ihre Nullen am Ende als fehlend angezeigt würden , da die Oneway-Analyse fehlende Zeilen in JMP ignoriert.Am Ende hätten sie NUR EINE Kategorie!
Es gibt andere Gründe, warum 0 als vermisst angezeigt werden könnte.Normalerweise ist das Speichern von 0 in einer großen Datenbank eine Platzverschwendung.Da Pokemon Go gerade groß ist, verwende ich es als Beispiel.Vielleicht möchte ich alle Pokémon aufzeichnen, die ich an einem Tag gefangen habe, 12 Ratattas und 6 Pidgeys.Allerdings möchte ich dann nicht 0 für die anderen 148 Pokémon speichern, die ich an diesem Tag nicht gefangen habe.Wenn ich das täte, würde ich meine Datenbank schnell mit nutzlosen Informationen füllen.Wenn ich also meine Daten abfragen würde, würde ich zu jedem Zeitpunkt für die meisten meiner Pokémon fehlen, aber „missing“ ist = auf 0.
In ähnlichen Situationen kann es zu fehlenden Daten kommen, die 0 b/c von Datenkonvertierungsproblemen, schlecht gestalteten Abfragen usw. entsprechen.
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLEs tut mir leid, dass ich zu spät zu dieser Party komme, aber ich fühle mich gezwungen, einzuwerfen: Das Setzen fehlender Werte auf Null (oder den Mittelwert oder eine andere einzelne Imputationsmethode) hat schwerwiegende Nachteile.Die meisten dieser Ansätze erzeugen verzerrte Parameterschätzungen, selbst unter idealen Bedingungen, bei denen die Daten völlig zufällig fehlen.Es gibt viel bessere Möglichkeiten, mit fehlenden Daten umzugehen.
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLDa niemand sonst geantwortet hat, ist die Lösung dieselbe: Nehmen Sie stattdessen einfach die Zeichenspalten und setzen Sie die Zeilen auf das Zeichen, das Sie für passend halten – „N/A“ im folgenden Fall.
Seien Sie vorsichtig, wenn Sie =0 festlegen, wird die Spalte in eine numerische Spalte geändert und alle Zeichendaten werden entfernt. ="0" sollte jedoch in Ordnung sein.
dt = Current Data Table();
nc = dt << get column names( Character );
For( i = 1, i <= N Items( nc ), i++,
nc[i][dt << get rows where( Is Missing( nc[i][] ) )] = "N/A"
);
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLCool! ... in den letzten beiden Zeilen sollte clsRej durch clsMat ersetzt werden, oder?
Gibt es inzwischen ähnliche Lösungen für die Zeichenspalte?
Betreff: So ersetzen Sie fehlende Werte mit „0“ mithilfe von JSLEin anderer Weg...
clsMat = dt << Get As Matrix( {"colA", "colB"} );
clsMat[Loc( Is Missing( clsMat ) )] = 0;
:colA << Set Values( clsRej[0, 1] );
:colB << Set Values( clsRej[0, 2] );
usw.
Die logische Indizierung ist oft schneller als Schleifen
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLDanke an alle!
Beifall!
Betreff: So ersetzen Sie fehlende Werte mit „0“ mithilfe von JSLNoch eine andere Möglichkeit, aber mit einer einzigen Schleife (nur numerische Spalten).
dt = Current Data Table();
nc = dt << get column names( Numeric );
For( i = 1, i <= N Items( nc ), i++,
nc[i][dt << get rows where( Is Missing( nc[i][] ) )] = 0
);
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLDies entspricht im Wesentlichen der Antwort von exj, ist jedoch etwas klarer.Es tut; Es fehlen jedoch nur Änderungen in den numerischen Spalten.
dt = current data table();
for(ij = 1, ij <= NCol(dt), ij +=1,
CurCol = Column(dt, ij);
If(CurCol << get data type == "Numeric",
For Each Row(
IF(IsMissing(CurCol[]), CurCol[] = 0)
);
);
);
Betreff: So ersetzen Sie fehlende Werte durch „0“ mithilfe von JSLIch würde es vermeiden, j als Schleifenvariable zu verwenden, da es sich auch um eine JSL-Funktion handelt.
J(nrows, , )
Funktion: Erstellt eine Matrix identischer Werte.
Kehrt zurück: Die Matrix.
Argumente:
nrows: Anzahl der Zeilen in der Matrix. Wenn ncols ist nicht angegeben, nrows wird auch als verwendet ncols .
ncols: Anzahl der Spalten in der Matrix.
Wert: Der Wert, der zum Auffüllen der Matrix verwendet wird. Wenn Wert ist nicht angegeben, es wird 1 verwendet.
Betreff: So ersetzen Sie fehlende Werte mit „0“ mithilfe von JSLHallo,
Dies basiert auf dem Buch „Jump into scripting“. Ich ersetze alle fehlenden Werte durch z.
allCols = dt2 << Get Column Names( String );
For( i = 1, i <= N Items( allCols ), i++,
/* Loop through each row. */
For( j = 1, j <= N Rows( dt2 ), j++,
/* The IsMissing function will return a ‘1’ or true if the
value is missing. If true, cell is assigned zero. */
If( Is Missing( Column( dt2, allCols ) ),
Column( dt2, allCols ) = "z"
)
)
);
Hoffe das hilft.