Wenn ich eine Datentabelle wie unten eingerichtet habe
| Col1 | Col2 | Col3 | Col4 |
| 1 | ein | e | 20 |
| 2 | b | f | 21 |
| 3 | c | G | 22 |
und eine Liste von Zeichenfolgen für neue Spaltennamen
NewCols = {"Daten1", "Daten2", "Daten3", "Daten4"}
Wie kann ich ein Skript schreiben, um die Spalten der Datentabelle alle einmal umzubenennen, indem ich die Liste Neue Spalten verwende, sodass die folgende Datentabelle angezeigt wird?
| Daten1 | Daten2 | Daten3 | Daten4 |
| 1 | ein | e | 20 |
| 2 | b | f | 21 |
| 3 | c | G | 22 |
Mir ist keine einzige Anweisung bekannt, die die Spaltennamen ändert.Unten ist die Methode, die ich in solchen Situationen verwende.
Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 3 ),
New Column( "Col1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [1, 2, 3] )
),
New Column( "Col2", Character( 16 ), "Nominal", Set Values( {"a", "b", "c"} ) ),
New Column( "Col3", Character( 16 ), "Nominal", Set Values( {"e", "f", "g"} ) ),
New Column( "Col4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [20, 21, 22] )
)
);
NewCols = {"Data1", "Data2", "Data3", "Data4"};
For( i = 1, i <= N Items( NewCols ), i++,
Column( dt, i ) << set name( NewCols[i] )
);Hallo @ user8421 ,
Es ist möglicherweise noch nicht auf Sie anwendbar, aber in JMP 16 (und höher) können Sie einen verbesserten For Each () jsl-Befehl verwenden, um dies schnell zu erledigen:
dt = Current Data Table();
NewCols = { "Data1", "Data2", "Data3", "Data4"}
For Each( {value, index}, NewCols, Column( dt, index ) << set name( value ) );
Ich hoffe das hilft!
@julianisch