Si j'ai une table de données configurée comme ci-dessous
| Col1 | Col2 | Col3 | Col4 |
| 1 | une | e | 20 |
| 2 | b | F | 21 |
| 3 | c | g | 22 |
et une liste de chaînes pour les nouveaux noms de colonnes
NewCols = {"Data1", "Data2", "Data3", "Data4"}
Comment puis-je écrire un script pour renommer les colonnes de la table de données une seule fois en utilisant la liste New Cols de sorte qu'il en résulte la table de données suivante?
| Données1 | Données2 | Données3 | Données4 |
| 1 | une | e | 20 |
| 2 | b | F | 21 |
| 3 | c | g | 22 |
Je ne connais pas une seule déclaration qui changera les noms de colonne.Voici la méthode que j'utilise dans de telles situations.
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] )
);salut @ user8421 ,
Cela ne vous concerne peut-être pas encore, mais dans JMP 16 (et versions ultérieures), vous pouvez utiliser une commande jsl améliorée For Each () pour le faire rapidement:
dt = Current Data Table();
NewCols = { "Data1", "Data2", "Data3", "Data4"}
For Each( {value, index}, NewCols, Column( dt, index ) << set name( value ) );
J'espère que ça aide!
@julien