Eliminar columnas con el mismo valorTengo un problema al ejecutar mi modelo con algunos parámetros. Por eso, quiero limpiar los datos antes de ejecutarlo. ¿Hay alguna forma rápida de eliminar columnas con los mismos valores? ¿Podrían indicarme cómo hacerlo con JSL o alguna otra forma que sea adecuada?
Combinación y limpieza de datosRe: Eliminar columnas con el mismo valorLa publicación de TXNELSON a continuación funcionó con JMPv13.2.1.Re: Eliminar columnas con el mismo valor¡Eso funciona! ¡Gracias!Re: Eliminar columnas con el mismo valorEjecuté esto en JMP 13.2.1 y funciona... todo lo que necesitas hacer es eliminar las líneas en el código.
dt << select columns(to_delete_lst);
dt << delete columns;
y reemplazarlos con
dt << delete columns( to_delete_lst);
Re: Eliminar columnas con el mismo valorLo siento, no puedo responder.
El código funciona bien en JMP 15 con Win10 en mi computadora,
y los dos últimos pasos son comandos bastante básicos que ya deberían haber sido implementados en JMP 13 (pero no puedo comprobarlo).
¿Puedes realizar ambos pasos?
- seleccionar las columnas 6+7
- y eliminar seleccionados
¿por separado uno tras otro? por ejemplo, marcando la línea del script en el Editor y presionando el botón Reproducir.
¿Dónde está exactamente el problema?
Re: Eliminar columnas con el mismo valorAl ejecutar este código, identifica correctamente las columnas duplicadas, pero no las elimina. El registro no muestra errores.
"altura igual a altura_copia"
"peso igual a peso_copia"
para_eliminar_lst = {7, 6};
Scriptable[]
Estoy ejecutando la versión v13.2.1
Re: Eliminar columnas con el mismo valorHola,
Basándome en esta publicación posterior, creo que no entendimos la afirmación de "mismos valores"; interpretamos que la columna 1 = columna 2 para cada fila, pero supongo que te refieres a cualquier columna con valores idénticos en cada fila (es decir, desviación estándar 0). ¿Es correcto?
Si es así, yo o alguien con más experiencia que yo debería poder proporcionar un guión relativamente breve.
Mejor,
TSRe: Eliminar columnas con el mismo valorHola Nelson,
Gracias por el consejo. Pero la revisión de respuestas tarda demasiado en procesarse y no es ideal. Llevo 45 segundos y ni siquiera he terminado la mitad del proceso.

Re: Eliminar columnas con el mismo valorAquí hay una forma diferente de hacerlo. Utiliza RSquare como indicador de coincidencia de datos.
Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column names( continuous );
obj = dt <<
Response Screening(
Y( Eval( colNames ) ),
X( Eval( colNames ) )
);
dtCalc = obj << get PValues;
dtCalc << select where(Round(:RSquare,4) != 1 | :X == :Y );
try( dtCAlc << delete rows );
dtCompare = dtCalc << subset( selected rows(0), columns("X","Y"));
close(dtCalc,nosave);
for each row(
If(:X > :Y,
hold=:X;
:X = :Y;
:Y = hold;
)
);
dtFinal = dtCompare << Summary(
Group( :X, :Y ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
close( dtCompare, nosave );
Re: Eliminar columnas con el mismo valorGeorg, gracias por la idea del visor de columnas.
Creo que lo haré con el visor de columnas -> Resumen -> ordenar la tabla por desviación estándar = 0. Luego puedo eliminar las columnas más tarde.Re: Eliminar columnas con el mismo valorYo tampoco estoy seguro:)
Esto significa que debes ser más específico en lo que necesitas.
Si simplemente desea explorar los valores de una tabla grande, es posible que desee utilizar el visor de columnas.
Columnas->Visor de columnas
Allí podrás comparar fácilmente las columnas de una tabla grande.
Re: Eliminar columnas con el mismo valorGracias por JSL. Pero no estoy seguro de que haga lo que quiero.Re: Eliminar columnas con el mismo valorÉste elimina columnas:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// make some copies of columns
dt << New Column( "weight_copy", set each value( :weight ) );
dt << New Column( "height_copy", set each value( :height ) );
to_delete_lst = {};
For( i = 1, i < N Col( dt ), i++,
For( j = i + 1, j <= N Col( dt ), j++,
If( (Column( i ) << get data type) == (Column( j ) << get data type),
// all celles are equal ?
If( Mean( (Column( i ) << get values) == (Column( j ) << get values) ) == 1,
Print( (Column( i ) << get name) || " equal to " || (Column( j ) << get name) );
insert into(to_delete_lst, j);
);
);
)
);
// show list of equals
Show(to_delete_lst);
wait(3);
dt << select columns(to_delete_lst);
dt << delete columns;
Re: Eliminar columnas con el mismo valorNo quiero eliminar filas. Quiero eliminar columnas con el mismo valor.Re: Eliminar columnas con el mismo valorNo estoy seguro de si te entiendo bien,
Para modelar, puedes seleccionar las columnas que consideres importantes, por lo que no es necesario eliminar la columna.
¿Quieres eliminar algunas filas donde una columna tiene el mismo valor?
A continuación se muestra el código:
De lo contrario, describa con más detalle lo que necesita, un ejemplo puede ser muy útil.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
wait(3);
dt << Select duplicate rows( Match( :age ) );
dt << delete rows;