Obtenga valores de columna únicos y utilícelos para filtrar/limpiar en una tabla diferenteHola, ¿cuál sería el enfoque para usar, por ejemplo, las claves en una matriz para seleccionar o filtrar filas con las mismas claves, pero en una tabla JMP diferente? Tengo dos mesas. Uno de ellos asigna ID de muestras para pruebas químicas a diferentes configuraciones de factores (temperatura, tiempo, número de estudio, etc.). Obtengo con éxito los ID de muestra en una matriz. (Lo siento, soy un completo novato en esto).
smplID = Associative array(:sampleid) << Get Keys;
Ahora quiero usar estas claves para seleccionar filas en la segunda tabla (donde están mis respuestas), invertir la selección de filas y eliminar las filas. Esta referencia , hasta ahora, no me llevaba a ninguna parte. Quizás la solución a continuación,como se describe aquí,es más adecuado para empezar?
Summarize(dt, smpleID = by(:sampleid));
¿O tal vez sea preferible este enfoque ?
dt << Summary (Group ( :sampleid ), Frequ( "None" ), Weight( "None" );
De todos modos, lo que realmente quiero saber es cómo puedo utilizar cualquiera de estos enfoques para limpiar eficazmente una tabla de datos para las filas que no necesito, antes de continuar con el análisis de datos. Supongo que necesito aprender a hacer bucles.
Sí, intento leer la Guía de secuencias de comandos siempre que sea posible. Simplemente no puedo priorizarlo.
La personalización en masaRe: Obtenga valores de columna únicos y utilícelos para filtrar/limpiar en una tabla diferenteEsa es la cosa. Necesito tener mucho cuidado con las manipulaciones de la mesa. De lo contrario, podría perder algunas medidas replicadas. Por lo tanto, estoy tratando de limpiar las mesas con anticipación, ya que esto ayuda a mantener una visión general.
Re: Obtenga valores de columna únicos y utilícelos para filtrar/limpiar en una tabla diferente¡Estos métodos serán rápidos para esa cantidad de filas!
Hay una solución más que me vino a la mente, primero puede crear una tabla de resumen y luego unirla a la tabla de la que desea eliminar los valores encontrados.
Usando los datos de muestra de JMP Cars.jmp y Cars 1993.jmp como ejemplo. Cars 1993 será uno de los datos con los que filtraremos Cars usando la columna Model.
1. Cree una tabla de resumen de Cars 1993 con el modelo como grupo
2. Una esa nueva tabla de resumen a la tabla Cars con la siguiente configuración:

3. Desde la nueva columna Match Flag, puede ver dos valores: Ambos y Principal. Ambos significa que el modelo se puede encontrar en ambos conjuntos de datos
Creo que puede hacer esto directamente con Cars 1993, pero debe tener cuidado con los duplicados (Drop multiples With Table podría resolver eso, no estoy seguro). Además, en este caso, querrá elegir las columnas que desea conservar, ya que habrá duplicados (al menos con este ejemplo).

Estos dos también se pueden programar con bastante facilidad, ya que JMP puede hacer la mayor parte de las secuencias de comandos.
Re: Obtenga valores de columna únicos y utilícelos para filtrar/limpiar en una tabla diferente¡Gracias, esto me ayudó MUCHO! No estoy seguro de lo que realmente significa "una gran cantidad de datos". La primera tabla que estoy abriendo contiene hoy alrededor de 400 filas, pero este número seguramente aumentará con la implementación continua de un sistema de gestión de información de laboratorio (LIMS) en nuestra organización. Supongo que con el tiempo habrá miles, tal vez hasta diez mil filas. La segunda tabla en la que estoy "limpiando" todos los ID de muestra irrelevantes para mí ya tiene unas 50 000 filas.
A partir de ahora, habiendo implementado su solución, estoy trabajando con una serie de ID de muestra. (Aunque siento que mis habilidades son extremadamente limitadas, las secuencias de comandos todavía se sienten extremadamente valiosas y satisfactorias al encontrar una solución, incluso cuando se "arranca" de la comunidad. Así que muchas gracias de nuevo.)
Re: Obtenga valores de columna únicos y utilícelos para filtrar/limpiar en una tabla diferentePara obtener valores únicos, todos esos son métodos válidos y sus velocidades dependerán de la cantidad de datos que tenga. Un pensamiento a tener en cuenta es que si desea tomar valores numéricos únicos y usa Resumir, tendrá que volver a convertirlos en numéricos (Resumir los devuelve como cadenas).
Algunas formas diferentes de obtener valores únicos:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
aa_uniq = Associative Array(dt:age) << get keys;
Summarize(dt, summarize_uniq = by(:age));
dt_summary = dt << Summary(Group(:age), Freq("None"), Weight("None"), private);
summary_uniq = Column(dt_summary, 1) << get as matrix;
Close(dt_summary, no save);
Show(aa_uniq, summarize_uniq, summary_uniq);Para seleccionar valores de la tabla de datos, puede usar Contiene con seleccionar dónde. ¡Es posible que no haya necesidad de invertir la selección de filas como puede usar! (o Not()) para negar el resultado que obtiene de las funciones. Las esperas están aquí solo por el bien de las demostraciones:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
names_of_interest = {"KATIE", "LILLIE", "JOHN"};
wait(2);
dt << Select Where(Contains(names_of_interest, :name)) << Invert Row Selection << Hide and Exclude(1);// << clear select;
//Remove selections
wait(2);
dt << Clear Row States;
wait(2);
dt << Select Where(!Contains(names_of_interest, :name)) << Hide and Exclude(1);// << clear select;Además, si tiene una gran cantidad de datos, esta podría no ser la forma más eficiente de hacerlo, pero probablemente sea la más simple y comenzaría con ella.