Si tengo una tabla de datos configurada como se muestra a continuación
| Col1 | Col2 | Col3 | Col4 |
| 1 | a | mi | 20 |
| 2 | B | F | 21 |
| 3 | C | gramo | 22 |
y una lista de cadenas para nuevos nombres de columna
NewCols = {"Datos1", "Datos2", "Datos3", "Datos4"}
¿Cómo puedo escribir un script para cambiar el nombre de las columnas de la tabla de datos una vez usando la lista New Cols de modo que resulte en la siguiente tabla de datos?
| Datos1 | Datos2 | Datos3 | Datos4 |
| 1 | a | mi | 20 |
| 2 | B | F | 21 |
| 3 | C | gramo | 22 |
No conozco una sola declaración que cambie los nombres de las columnas.A continuación se muestra el método que utilizo en tales situaciones.
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] )
);Hola @ usuario8421 ,
Es posible que aún no le sea aplicable, pero en JMP 16 (y posteriores) puede usar un comando For Each () jsl mejorado para hacer esto rápidamente:
dt = Current Data Table();
NewCols = { "Data1", "Data2", "Data3", "Data4"}
For Each( {value, index}, NewCols, Column( dt, index ) << set name( value ) );
¡Espero que esto ayude!
@Julian