Hallo JMP-Community,
Haben Sie eine Reihe von Spalten mit ganzen Zahlen im Bereich von 0-100. Die Spalte beginnt immer mit einer 0 und steigt dann ab einer bestimmten Zeilennummer an. Wie kann ich die Zeilen mit allen Nullen löschen und dann die Zellen ungleich Null hochschalten? Außerdem muss ich das für alle Spalten auf demselben Blatt anwenden.
Beispiel ('.' Bedeutet leere Zelle) Anfangsdaten:
Col-1 Col-2 Col-3
Zeile-1 0 0 0
Zeile 2 0 0 0
Zeile 3 0 0 0
Zeile 4 1 0 1
Zeile 5 3 1 2
Zeile 6 8 4 7
Endergebnis nach Manipulation:
Col-1 Col-2 Col-3
Zeile 1 1 1 1
Zeile 2 3 4 2
Zeile 3 8. 7
Zeile 4. . .
Zeile 5. . .
Zeile 6. . .
Danke vielmals!
Steve
Hier ist ein Beispielskript, das die Werte für jede unabhängige Spalte nach oben verschiebt. Die verwendeten Beispieldaten sind die von Ihnen angegebenen Daten
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 6 ),
New Column( "Col 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 1, 2, 3] )
),
New Column( "Col 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 0, 1, 4] )
),
New Column( "Col 3",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [0, 0, 0, 1, 2, 7] )
),
Set Row States( [1, 1, 1, 1, 1, 1] )
);
colNames = dt << get column names( numeric, string );
For( i = 1, i <= N Items( colNames ), i++,
theMatrix = Column( colNames[i] ) << get values;
Column( colNames[i] )[Index( 1, N Rows( dt ) )] = .;
Column( colNames[i] ) << set values( theMatrix[Loc( theMatrix )] );
);