Apilar columnas con varios nombres¡Hola a todos!
Digamos que tengo una tabla de datos que se ve así:
A, B1, B2, C1, C2, D
1,2,3,4,5,16
6,7,8,9,10,16
11,12,13,14,15,16
Quiero apilarlos para que la nueva tabla se vea así:
ABECEDARIO
1,2,4
1,3,5
6,7,9
6,8,10
11,12,14
11,13,15
Tengo tres listas: una contiene columnas que deben conservarse: list_to_keep= {A},list_to_stack_before= {B1,C1} y list_to_stack_after = {B2,C2}.
Primero escribí un script para crear una nueva lista con los nuevos nombres de columnas:
nuevos_nombres_de_columna = {};
str = char(lista_a_apilar_antes);
newstr = sustituto(str,"", "", "_be_sam","");
nuevos_nombres_de_columna = parse(newstr);
Luego intenté hacer un bucle con la función de pila, pero siempre agrega más filas. No puedo usar la función de pila normal porque no me permite usar varios nombres en el argumento de la columna de datos apilados. ¿Cómo puedo resolver este problema? Muchas gracias, soy muy nuevo en jmp.
Automatización y scriptingRe: Apilar columnas con varios nombresVaya, ¡buen vínculo entre pila de series múltiples y pila + división!
Re: Apilar columnas con varios nombresDE ACUERDO-
Es bueno que puedas crear scripts. Gracias por aclarar que estás buscando algo escalable para evitar cambiar el nombre de muchas columnas.
Primero, como un aparte/tangente , como un consejo y truco para la manipulación de nombres de columnas en modo manual, pero a escala: esto es rápido y poderoso ( pero debe hacerse con cuidado ).
- En el panel Columnas, seleccione todas las columnas: "copiar" (coloca el texto en el búfer de copia)
- En otra tabla de datos (o en una hoja de cálculo o programa de procesamiento de textos), "Pegar": la lista de columnas se crea como texto.
Manipúlalo como desees (escribe el texto de edición en el lugar, crea una columna de fórmula para agregar prefijo/sufijo... lo que sea)...
- "Copiar" la lista editada de nombres de nuevas columnas de texto
- Regresar a la tabla original. Borrar la selección de columnas y volver a seleccionar la lista de columnas en el panel de columnas. "Pegar" para sobrescribir los nombres de las columnas editadas
Volviendo al método de operaciones de tabla propuesto anteriormente.
Si el carácter más bajo siempre será 1/2 (o al menos indicará la familia de columnas que se deben apilar), esto se puede hacer en dos operaciones de tabla y una fórmula. Estos pasos se pueden programar o capturar en el generador de flujo de trabajo si las acciones deben ser repetibles.

Agregar columna de fórmula para recortar "Etiqueta", excluyendo el carácter más bajo

Tabla "Dividir" datos por etiqueta recortada ....

Re: Apilar columnas con varios nombres¿Está eliminando la columna D? En sus tablas de datos reales, ¿cómo decide qué columnas eliminar? ¿Cuál es la convención de nomenclatura para las columnas (antes y después de la pila)? Esto no debería ser demasiado difícil de automatizar mediante JSL.
*editar*
Además, ¿el número de múltiplos es siempre el mismo? Por ejemplo, si hay un B1 y un B2, ¿siempre habrá un C1 y un C2, o también podría haber un C3? Si es así, ¿cómo se debe manejar esto?
Re: Apilar columnas con varios nombresHola Greg, ¡muchas gracias por tu respuesta!
Estoy familiarizado con la interfaz de pila y también usé el generador de flujo de trabajo para obtener un script para apilar. El problema con el cambio de nombre es que no tengo 3 columnas que quiero apilar, sino más bien 40 y espero que crezca con nuevas mediciones.
Me di cuenta de que probablemente podría escribir un script para cambiar el nombre de las columnas usando una lista, pero parece una solución no muy buena y propensa a errores en el orden. Esperaba que hubiera un método más sencillo. Es muy desafortunado que la opción "nuevos nombres de columnas" no permita más de un argumento.
Mejor
Re: Apilar columnas con varios nombresHola nuevo miembro
Si bien es posible realizar scripts, tal vez sea mejor ver hasta dónde se puede llegar antes de codificar (consejo profesional: en JMP, a menudo es bastante lejos).
El comando Pila del menú Tablas te permitirá realizar la mayor parte del trabajo. La vista previa en tiempo real es realmente útil.

Después de ejecutar este comando, cambie el nombre de las columnas "Datos" a A y B, elimine la columna Etiqueta.
Si desea crear un script, después de ejecutar el comando de pila, el triángulo verde "Fuente" en el panel superior izquierdo volverá a ejecutar la acción. Haga clic derecho/edite para ver la sintaxis del script.
Para obtener la sintaxis del script, use el generador de flujo de trabajo para registrar los pasos, luego presione el triángulo rojo > guardar en la ventana del script.