Entonces, en esta demostración, veremos cómo seleccionar filas específicas y usar el comando de subconjunto, que se encuentra de forma interactiva en el menú Tablas, para extraer un subconjunto de la tabla de datos. Entonces, en la sección del diario del curso, voy a hacer clic en Datos de temperatura de Ski Lodge. Y esta es una tabla de datos amplia, pero bastante corta. Entonces, nuestro escenario aquí es que tenemos una estación de esquí que tiene una estación meteorológica y registra la temperatura cada hora y la guarda en algún archivo. Entonces, cada observación del archivo tendrá la fecha más las lecturas de temperatura por hora. Se stats en AM, por lo que es la temperatura en AM. Ahora supongamos que cuando la temperatura cae por debajo de los grados centígrados bajo cero, planeamos encender las máquinas para hacer nieve, porque a esa temperatura puede hacer demasiado frío para nevar. Entonces, queremos mirar nuestro registro de datos históricos para encontrar los días en el registro en los que habríamos usado esa máquina para hacer nieve. Tal vez estemos tratando de justificar agregar otra máquina o reemplazar la existente. Y así un par de cosas aquí. Una es que esta temperatura se registró en una escala Fahrenheit, no Celsius. Y dos, estamos usando solo un pequeño subconjunto de los datos. Ahora, estos están ordenados por días, pero esto representa una de nuestras mejores prácticas de cuando va a trabajar en un gran conjunto de datos, intente obtener una muestra representativa de observaciones para desarrollar su secuencia de comandos para que pueda desarrollar y probar su secuencia de comandos contra un subconjunto más pequeño. Una vez más, esperamos que represente cualquier problema que pueda esperar encontrar en los datos. Y luego puede probarlo contra el conjunto de datos completo. Entonces, en este ejemplo, con suerte esto es representativo, solo tomamos una semana de datos. La otra cosa es que tenemos temperaturas Fahrenheit registradas pero nuestro límite es menos grados Celsius. Entonces, aunque ciertamente podemos convertir menos grados Celsius a Fahrenheit, vamos a reiterar este concepto de trabajar con operaciones vectorizadas y vamos a extraer todas las temperaturas Fahrenheit como una matriz y convertirlas a temperaturas Celsius. Así que en el diario hay un guión preescrito llamado Guión de días para aislar nieve. Y voy a ejecutar eso una pieza a la vez. Y en esta demostración, en realidad voy a usar la opción de registro incrustado en lugar de navegar de un lado a otro a la ventana de registro. Así que voy a hacer clic con el botón derecho en la ventana del editor de secuencias de comandos y seleccionar Mostrar registro incrustado. Y cambiaré el tamaño de esto para que aún podamos ver el script completo en la parte del editor de la ventana. Así que seleccionaré la línea y ejecutaré eso. Y eso obtiene la referencia para la tabla de datos actual, la tabla de datos de temperatura de Ski Lodge, y la almacena en dt. Luego voy a enviar el mensaje obtener como matriz y almacenarlo en la variable tempF. Así que voy a ejecutar la línea Y, a menudo, con una matriz más grande, en lugar de mostrar la matriz en el registro, solo obtenemos las dimensiones de la matriz y la indicación de que se ha asignado. Ahora observe que son siete filas y columnas. Y si navego de regreso a la tabla de datos, hay columnas en esta tabla de datos. Entonces, ¿por qué solo sacamos columnas? Bueno, si miras la columna de la fecha, por un lado puedes ver que es nominal. Eso sugiere que tal vez esto se esté tratando como datos de caracteres en lugar de numéricos. Y puedo confirmar que, por supuesto, podría ir a la información de la columna, pero también puedo confirmarlo haciendo la columna un poco más ancha y observando que los valores están justificados a la izquierda, que es cómo JMP maneja los datos de caracteres. Entonces, cuando envié obtener como matriz a la tabla de datos, ignoró esta columna de caracteres y solo extrajo las columnas numéricas. Entonces, Line tomará cada elemento en la variable tempF, esa matriz que está almacenada allí, y la convertirá a Celsius y la almacenará en tempC. Y nuevamente recibo el mismo mensaje en el registro, pero puede pasar el mouse sobre tempf o tempc, por supuesto, para ver sus valores. A continuación, quiero contar las filas en tempC y lo mencioné como una mejor práctica, contar filas o columnas fuera de un ciclo. Así que cuento las filas en la matriz tempC y las almaceno en la variable nr. Así que ejecutaré la línea y, por supuesto, hay siete. La otra cosa que quiero hacer es tener-- Voy a crear dos matrices. Uno que da la temperatura mínima en un día determinado, eso es minTemp, y el otro que va a indicar si la máquina de hacer nieve debería haberse encendido o no, y eso se llama Máquina. Y ambos van a comenzar con una cierta cantidad de filas, una columna y valores faltantes. Y así, en línea, estamos conectando en cascada la función de asignación. Uso esa función J para hacer una matriz con una cierta cantidad de filas, aquí está la cantidad de filas de tempC, esa única columna como mencioné y el valor que falta. Y si Machine, minTemp y cualquier otra variable van a comenzar con el mismo valor, simplemente podemos asignarlas en cascada como se ve en la línea. Machine o minTemp solo ve esa columna de valores faltantes. Luego quiero hacer un bucle, y empiezo con un contador. Pruebo r menor o igual que los números almacenados en nr, y luego el cuerpo del bucle for es. Voy a tener una variable llamada obs que tomará esto. caso, la primera fila y todas las columnas en tempC. Encontraré el valor mínimo en esa fila y lo pondré en el r-ésimo, o primer lugar, en minTemp. Luego compararé el valor que acabo de poner en minTemp en esa posición con menos y si esta comparación es verdadera, si el valor es menor que menos, obtendré un booleano como resultado y lo pondré en la primera posición en Máquina, mientras que si es falso, si es mayor o igual a menos, pondré Machine. Luego actualizamos, volvemos a probar y ahora obs se sobrescribirá con la siguiente fila en la tabla de datos. Y haremos los mismos pasos hasta que completemos minTemp y Machine. Así que pasaré las líneas y podemos desplazarnos sobre minTemp. Y nuevamente aparece en la ayuda flotante, también aparece en la parte inferior de la ventana de entrada del script que puede ver a continuación. Y puedo desplazarme sobre Máquina y están esos y Ahora los últimos dos pasos podríamos haber enviado estos mensajes en cascada, pero para fines de demostración, vamos a separarlos. Así que voy a enviar un nuevo mensaje de columna a dt. Se llamará minTemp, y los valores serán solo los que acabo de obtener de ese ciclo for. Así que voy a pasar las líneas y pueden ver en el fondo que se ha creado esa nueva columna. Podría haber agregado un argumento de formato a la nueva columna para tener un número fijo de lugares decimales, por ejemplo. Esto también devolvió una referencia de objeto de columna que podría haber almacenado en una variable si planeaba trabajar con esa columna nuevamente. Luego, la siguiente pieza de código es establecer nuevas columnas en un mensaje para dt. Este se llama Hacer nieve. Y los valores provienen de ese vector de columna de la máquina, que tiene y Y aquí mi secuencia de comandos va a solicitar que usemos etiquetas de valor donde si hay un para el valor de los datos, la etiqueta será no, y si hay un para el valor de los datos, el la etiqueta será sí. Y luego, por supuesto, usamos el booleano para activar la opción de usar etiquetas de valor. Así que pasaré las líneas Una vez más, estamos creando una instancia de un objeto de columna. Y quiero volver a la tabla y desplazarme. Entonces, en la columna ahora mismo, lo que estamos mostrando es no y sí. Sin embargo, en el panel de columnas, si me desplazo hacia abajo, aún puede ver que Make Snow es continuo, lo que significa que son datos numéricos para los valores de datos reales. Y otra cosa con las etiquetas de valor cuando las estoy usando, y ese asterisco en el panel de columnas también indica que hay una propiedad, y si hizo clic en eso, vería esta, cuando estoy usando etiquetas de valor. , si coloco el cursor sobre una celda en la tabla de datos, me muestra el valor real de los datos. Pero si tuviera que hacer un gráfico en este momento o cualquier tipo de análisis, usaría estas etiquetas siempre que estén activadas. Y luego, de vuelta en el script, nuevamente podríamos enviar estos mensajes en cascada a la tabla de datos, pero para fines de demostración, los haremos en estos pasos. Envío select where a la tabla de datos, y estoy buscando las filas donde el valor en la columna Make Snow es igual a Así que ejecutaré la línea Y pueden ver en el fondo que hay cuatro filas que han sido seleccionadas. Y finalmente envío el comando de subsección a la tabla de datos. Proporciono un nombre de tabla de salida y especifico las columnas. Y como tengo cuatro filas seleccionadas, no tengo que decir qué filas quiero. Esos serán automáticamente los que se incluirán en la tabla de subconjuntos. Así que pasaré las líneas y ahora tenemos esa tabla de subconjuntos. De nuevo en este punto, podríamos optar por formatear los datos de temperatura mínima. El script de origen refleja el subconjunto. Y echemos un vistazo rápido a eso, si hago clic derecho en la fuente y selecciono editar. Cada vez que creo un nuevo script con un comando del menú Tablas, ya sea de forma interactiva o con un script, obtengo el script de origen. Y entonces solo muestra que el subconjunto fue el comando de tabla utilizado. La precaución con el subconjunto es que no sabe por qué se extrajeron estas filas, por lo que codifica esas filas. No hay base para esa selección en el guión que escribe JMP. Y JMP también anula esa tendencia predeterminada de simplemente extraer las filas seleccionadas al poner a como argumento para las filas seleccionadas. Entonces, si desea capturar el script y adaptarlo a otro script que esté escribiendo, querrá deshacerse de las dos filas que he mostrado y, antes de enviar el mensaje del subconjunto, haga las selecciones lógicas que requiera su script. . Así que cancelaré ese guión. Así que este ha sido un ejemplo del uso de un comando del menú de la tabla, pero también trabajando nuevamente con los datos como matrices.