Cómo desapilar una tabla JMP con una estructura de muchos a unoHola,
Tengo la siguiente tabla de datos "apilados" en JMP;
| ID de prueba | Tipo de ejemplo | Resultado |
| Prueba_ID_1 | Muestra | 10 |
| Prueba_ID_1 | Muestra | 12 |
| Prueba_ID_1 | Muestra | 11 |
| Prueba_ID_1 | Muestra | 14 |
| Prueba_ID_1 | Muestra | 9 |
| Prueba_ID_1 | Control | 11 |
| Prueba_ID_2 | Muestra | 9 |
| Prueba_ID_2 | Muestra | 8 |
| Prueba_ID_2 | Muestra | 10 |
| Prueba_ID_2 | Control | 14 |
| Prueba_ID_3 | Muestra | 13 |
| Prueba_ID_3 | Control | 15 |
| Prueba_ID_4 | Muestra | 9 |
| Prueba_ID_4 | Muestra | 7 |
| Prueba_ID_4 | Control | 12 |
Me gustaría generar la siguiente tabla a partir de la tabla anterior desapilando;
| ID de prueba | Tipo de muestra = Muestra | Tipo de muestra = Control |
| Prueba_ID_1 | 10 | 11 |
| Prueba_ID_1 | 12 | 11 |
| Prueba_ID_1 | 11 | 11 |
| Prueba_ID_1 | 14 | 11 |
| Prueba_ID_1 | 9 | 11 |
| Prueba_ID_2 | 9 | 14 |
| Prueba_ID_2 | 8 | 14 |
| Prueba_ID_2 | 10 | 14 |
| Prueba_ID_3 | 13 | 15 |
| Prueba_ID_4 | 9 | 12 |
| Prueba_ID_4 | 7 | 12 |
Los datos apilados contienen una cantidad variada de muestras para un control determinado. A veces existe una correlación de 1 a 1 entre la muestra y el control, pero más a menudo hay muchas muestras para un control. El número de muestras puede variar de una a n pero siempre hay un solo control. Estoy usando JMP 16.0.1.
Gracias,
Timo
Modelado estadístico avanzadoInvestigación de Consumidores y MercadosCombinación y limpieza de datosLa personalización en masaRe: Cómo desapilar una tabla JMP con una estructura de muchos a unoAquí hay un pequeño script que convierte su tabla de ejemplo simple al nuevo formato que desea.Utiliza un par de subconjuntos junto con una actualización para realizar la tarea.
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where( :Sample Type == "Sample" );
dtFinal = dt << subset(
selected rows( 1 ),
columns( {"Test ID", "Result"} ),
Output Table( "Final" )
);
dtFinal:Result << set name( "Sample Type = Sample" );
dt << invert row selection;
dtTemp = dt << subset( invisible,
selected rows( 1 ),
columns( {"Test ID", "Result"} )
);
dtTemp:Result << set name( "Sample Type = Control" );
dtFinal <<UPDATE></UPDATE>

Re: Cómo desapilar una tabla JMP con una estructura de muchos a unoTambién puede intentar crear una columna de agrupación
Col Cumulative Sum(1, :Test ID, :Sample Type)

Usa eso con Split


Y luego seleccione una fila de la columna de control y complete con el valor anterior

y limpieza (eliminar columna de orden, reordenar columnas, cambiar el nombre si es necesario)

Esto funciona en este caso bastante simple, pero también es bastante fácil perder datos cuando se usa la plataforma dividida de JMP, así que tenga cuidado con (la columna de orden intenta evitar esto).