Filtrar columnas de tabla basadas en una listaHola a todos,
He estado usando JMP Pro durante algún tiempo, aunque nunca he ejecutado scripts con él. También estoy explorando JMP Genomics, ya que utilizo una buena cantidad de análisis "ómicos" utilizando varias plataformas. Por ahora, estoy en el mundo de JMP Pro y estoy tratando de descubrir cómo filtrar las tablas de datos.
Una cosa que no puedo entender es cómo filtrar (o crear una nueva tabla) una tabla basada en una lista (que contiene nombres de columnas) o en los resultados de una prueba. Por ejemplo, tengo una tabla ancha (Tabla 1) de 600 filas x 10 000 columnas. Tengo otra tabla (Tabla 2) con una sola columna de ID de columna de la Tabla 1 (200 nombres de columna).
¿Hay alguna manera de:
- ¿Hacer grupos de columnas en la Tabla 1 en función de los ID de columna en la Tabla 2?
- Alternativamente, haga un subconjunto de la Tabla 1, basado en los ID de columna en la Tabla 2.
Creo que cualquiera de estos ayudará con mi flujo de trabajo, pero no he podido encontrar una solución en los foros aquí o en la guía de ayuda.
¡Gracias de antemano!
jonathan
Re: Filtrar las columnas de una tabla en base a una lista¡Excelente! Gracias por guiarme a través de esto. ¡Muy útil!Re: Filtrar las columnas de una tabla en base a una listaDe mis pruebas, creo que la lista se está creando, pero se está perdiendo en la cantidad de columnas que tiene.Así que hice un cambio simple en el código, agregué un nombre para la lista y luego le dije a la lista que se moviera al frente de la lista de columnas.
names default to here(1);
dt = Current Data Table();
dtSingle = open ("TCAlist.jmp");
//longList=dt<<GET column="" names=""></GET>Re: Filtrar las columnas de una tabla en base a una listaRe: Filtrar las columnas de una tabla en base a una listaSi puede adjuntar las 2 tablas de datos, echaré un vistazo al problema.
Re: Filtrar las columnas de una tabla en base a una listaAsí que no hay mensajes/errores que aparecen. Las columnas están escritas correctamente y no hay problema de mayúsculas y minúsculas. Cuando ejecuto esto, la segunda parte del script funciona... crea un subconjunto con los 3 elementos enumerados en "TCAlist". Lo único que no sucede es la creación del grupo en la mesa principal. ¿Hay algún problema con las primeras líneas con respecto a mis tablas? ¿La tabla de datos actual descarta esto?Re: Filtrar las columnas de una tabla en base a una lista¿Qué mensajes hay en el registro? ¿Están todas las columnas escritas correctamente? ¿Hay un problema de mayúsculas/minúsculas?Re: Filtrar las columnas de una tabla en base a una lista¡Gracias Jim!
Pude hacer que el script "crear un subconjunto" funcionara en mis 2 tablas de datos, pero "crear un grupo" en esas mismas 2 tablas no parece crear el grupo en la tabla principal. Sin embargo, funciona bien en el ejemplo de datos de muestra. Probablemente falta algo obvio
¡Gracias por tu ayuda!
names default to here(1);
dt = Current Data Table();
dtSingle = Open ("TCAlist.jmp");
// Create a group
theList = dtSingle:Cols << get values;
dt << group columns(theList);
// Create a subset
// Select columns in data table dt, that are in dtSingle
try( dt << Select Columns( dtSingle:Cols << get values ));
dtSubset = dt << subset( selected rows(0), selected columns(1) );Re: Filtrar las columnas de una tabla en base a una listaAquí hay un script simple que le muestra las dos solicitudes que especificó
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dtSingle = New Table("Single Column", new column("Cols", character,values({"PNP2","NPN3","INM1"})));
// Create a group
theList = dtSingle:Cols << get values;
dt << group columns( theList);
// Create a subset
// Select columns in data table dt, that are in dtSingle
try( dt << Select Columns( dtSingle:Cols << get values ));
dtSubset = dt << subset( selected rows(0), selected columns(1) );