Cambio de nombre de columnasHola a todos,
En mi código, abro un archivo csv y cambio el nombre de la columna a "Columna 1".En la tabla de datos, se le cambia el nombre, pero cuando busco en todas las columnas diferentes, no puede encontrar "Columna 1". Solo reconoce su nombre original cuando se abre.Estoy buscando valores en una tabla de datos y necesito saber en qué columna está (que funciona si configuro i en 2).Sé que establecer i en 2 funcionaría para esta aplicación, pero en general, creo que sería bueno saber por qué sucede esto.
colFunction = Function({search_string},
found =0;
i=1;
Show(search_string);
Show(nCols);
While (found == 0,
match_rows = dt << get rows where(as column(dt, nCols)==search_string);
if(nrows(match_rows) > 0, found = 1, i++);
if(i==nCols, found =1, );
);
col = Num(i);
);
file = Pick File();
dt = Open (file);
for(i=1, i<=ncols(dt), i++,
column(dt,i) << data type(Character);
column(dt,i) << set modeling type(continuous);
);
nCols = dt << Get Column Names ("Character");
col = Column (1);
col << set name("Column 1");
irglCol = colFunction("Irgl");
Re: Cambiar el nombre de las columnastotalmente impresionante... funciona como un encanto.
muchas gracias.
Re: Cambiar el nombre de las columnas@txnelson le mostró la solución de secuencias de comandos, pero también es bastante fácil de manejar de forma interactiva.
Puede copiar los nombres de las columnas de la lista en el lado izquierdo de la tabla de datos y luego pegarlos en una columna de una nueva tabla de datos. Ahora tienes acceso a todas las funciones del editor de fórmulas para manipularlas.
Luego cópielos de la nueva columna y péguelos nuevamente en la tabla original.
Aquí hay un pequeño video que muestra la técnica.
Re: Cambiar el nombre de las columnasAquí hay un script simple que hará lo que necesita
Names Default To Here( 1 );
dt = Current Data Table();
ColList = dt << get column names( string );
For( i = 1, i <= N Items( ColList ), i++,
If( Substr( ColList[i], 1, 1 ) == "0",
Column( dt, i ) << set name( Substr( ColList[i], 2 ) )
)
);
Re: Cambiar el nombre de las columnasHola a todos,
Tengo un problema similar, pero no exactamente igual: tengo una tabla JMP con cientos de columnas y la mayoría de esos nombres de columna comienzan con el número 0, lo que dificulta ir/buscar una columna específica. ¿Hay alguna manera de eliminar el número 0 al comienzo de cada columna a través de un script JMP?
Si fueran una o dos columnas, podría haberlo hecho manualmente, pero están en 100... Sé cómo cambiar el nombre de una columna a la vez, pero en este caso creo que de alguna manera necesito usar un bucle o algo así. ...
por favor, hágamelo saber si hay algunas maneras en que esto se puede lograr.
agradezco toda la ayuda.
gracias.
Re: Cambiar el nombre de las columnasobtener nombres de columnas obtiene solo la lista de nombres de columnas
obtener referencias de columna obtiene los nombres como cadenas
así que tal vez un par de otras ideas también.
abierto(); // no tiene que elegir el archivo, abre automáticamente el diálogo del archivo pic
Obtenga la lista de columnas, encuentre la posición del patrón y luego cambie el nombre de la columna usando la posición en la referencia
list=dt<< get column reference(); //gets strings not a list of columns
position=contains(list, column("Carline")); //finds the position of something in a list
column(position)<<SETNAME></SETNAME>
o supongo que podría volverse realmente loco y sustituir en la lista y cambiar el nombre de todas las columnas con la lista
newlist=substitute(list, string, "Column 1");
dt<<SET column="" names=""></SET>