Spalten mit demselben Wert löschenIch stoße auf ein Problem, wenn ich mein Modell mit einigen Parametern betreibe. Daher möchte ich eine Datenbereinigung durchführen, bevor ich das Modell ausführe. Gibt es eine schnelle Möglichkeit, Spalten mit denselben Werten zu löschen? Bitte geben Sie an, wie Sie dies mit JSL oder einer anderen geeigneten Methode tun können.
SkripterstellungBetreff: Spalten mit demselben Wert löschenDer folgende Beitrag von TXNELSON funktionierte mit JMPv13.2.1.Betreff: Spalten mit demselben Wert löschenDas funktioniert !!! Danke.Betreff: Spalten mit demselben Wert löschenIch habe dies in JMP 13.2.1 ausgeführt und es funktioniert. Sie müssen lediglich die Zeilen im Code löschen
dt << select columns(to_delete_lst);
dt << delete columns;
und ersetzen Sie sie durch
dt << delete columns( to_delete_lst);
Betreff: Spalten mit demselben Wert löschenEntschuldigung, ich kann nicht antworten,
Der Code funktioniert unter JMP 15 mit Win10 auf meinem Computer einwandfrei.
und die letzten beiden Schritte sind recht einfache Befehle, die bereits in JMP 13 hätten implementiert werden sollen (ich kann es aber nicht überprüfen).
Können Sie beide Schritte ausführen?
- Wählen Sie die Spalten 6+7 aus
- und ausgewählte löschen
einzeln nacheinander? B. indem Sie die Skriptzeile im Editor markieren und die Wiedergabetaste drücken.
Wo genau liegt das Problem?
Betreff: Spalten mit demselben Wert löschenWenn ich diesen Code ausführe, identifiziert er die doppelten Spalten korrekt, löscht sie jedoch nicht.Das Protokoll zeigt keine Fehler.
„Höhe gleich height_copy“
„Gewicht gleich Weight_copy“
to_delete_lst = {7, 6};
Skriptfähig[]
Ich verwende v13.2.1
Betreff: Spalten mit demselben Wert löschenHallo,
Basierend auf diesem späteren Beitrag denke ich, dass wir die Aussage „gleicher Werte“ nicht verstanden haben; Wir haben für jede Zeile Spalte 1 = Spalte 2 interpretiert, aber ich vermute, dass Sie jede Spalte mit identischen Werten in jeder Zeile meinen (z. B. 0 StdDev). Ist das korrekt?
Wenn ja, sollte ich oder jemand mit mehr Erfahrung als ich in der Lage sein, ein relativ kurzes Skript bereitzustellen.
Am besten,
TSBetreff: Spalten mit demselben Wert löschenHallo Nelson,
Danke für den Rat.Aber das Antwortscreening nimmt viel zu viel Bearbeitungszeit in Anspruch und ist nicht ideal. Ich laufe 45 Sekunden und bin noch nicht zur Hälfte mit der Verarbeitung fertig.

Betreff: Spalten mit demselben Wert löschenHier ist eine andere Sichtweise, wie das geht.Es verwendet RSquare als Indikator für übereinstimmende Daten.
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column names( continuous );
obj = dt <<
Response Screening(
Y( Eval( colNames ) ),
X( Eval( colNames ) )
);
dtCalc = obj << get PValues;
dtCalc << select where(Round(:RSquare,4) != 1 | :X == :Y );
try( dtCAlc << delete rows );
dtCompare = dtCalc << subset( selected rows(0), columns("X","Y"));
close(dtCalc,nosave);
for each row(
If(:X > :Y,
hold=:X;
:X = :Y;
:Y = hold;
)
);
dtFinal = dtCompare << Summary(
Group( :X, :Y ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
close( dtCompare, nosave );Betreff: Spalten mit demselben Wert löschenGeorg, danke für die Idee mit dem Spalten-Viewer.
Ich denke, ich werde das mit Columns Viewer -> Zusammenfassung -> Sortieren der Tabelle nach stdev = 0 machen. Dann kann ich die Spalten später entfernen.Betreff: Spalten mit demselben Wert löschenIch bin mir auch nicht sicher 
Das bedeutet, dass Sie genauer angeben müssen, was Sie benötigen.
Wenn Sie lediglich die Werte einer großen Tabelle untersuchen möchten, können Sie den Spalten-Viewer verwenden
Spalten->Spalten-Viewer
Dort können Sie ganz einfach Spalten einer großen Tabelle vergleichen.
Betreff: Spalten mit demselben Wert löschenDanke für JSL. Aber ich bin mir nicht sicher, ob es das tut, was ich will.Betreff: Spalten mit demselben Wert löschenDieser löscht Spalten:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// make some copies of columns
dt << New Column( "weight_copy", set each value( :weight ) );
dt << New Column( "height_copy", set each value( :height ) );
to_delete_lst = {};
For( i = 1, i < N Col( dt ), i++,
For( j = i + 1, j <= N Col( dt ), j++,
If( (Column( i ) << get data type) == (Column( j ) << get data type),
// all celles are equal ?
If( Mean( (Column( i ) << get values) == (Column( j ) << get values) ) == 1,
Print( (Column( i ) << get name) || " equal to " || (Column( j ) << get name) );
insert into(to_delete_lst, j);
);
);
)
);
// show list of equals
Show(to_delete_lst);
wait(3);
dt << select columns(to_delete_lst);
dt << delete columns;Betreff: Spalten mit demselben Wert löschenIch möchte keine Zeilen löschen. Ich möchte Spalten löschen, die denselben Wert haben.Betreff: Spalten mit demselben Wert löschenIch bin mir nicht sicher, ob ich dich richtig verstehe,
Für die Modellierung können Sie die Spalten auswählen, die Sie für wichtig halten, sodass die Spalte nicht gelöscht werden muss.
Sie möchten einige Zeilen löschen, in denen eine Spalte denselben Wert hat?
Unten ist der Code dafür:
Andernfalls beschreiben Sie bitte detaillierter, was Sie benötigen. Ein Beispiel kann sehr hilfreich sein.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
wait(3);
dt << Select duplicate rows( Match( :age ) );
dt << delete rows;