Generación de una tabla resumen con valores p de la prueba t iterativaEstoy buscando un script que genere automáticamente una tabla resumen/pivotada de medias y valores p para pruebas t por pares en comparación con un grupo de referencia. Estoy usando JMP 17.
En la siguiente tabla de datos, hay columnas para SubjectId, IMC medido, VO2max medido, año y Referencia para indicar si la fila tiene o no un SubjectID que sea una referencia.

He estado generando tablas de resumen manualmente (como la siguiente) con medias y luego completando manualmente los valores p para las pruebas t unilaterales.

Estoy interesado específicamente en los resultados unilaterales del valor p de una prueba t entre cada SubjectID frente a la referencia de cada año para determinar si el SubjectID sin referencia tiene o no un IMC o VO2max más alto que el SubjectID de referencia. Hasta ahora, he estado realizando manualmente una prueba t agrupada y reportando el valor p y la media en una tabla resumen que he creado. ¿Hay alguna manera de iterar sobre una lista de SubjectID únicos y generar una tabla de resumen con estas estadísticas realizadas de la manera descrita usando JSL? Además, sería útil contar con una forma generalizada de agregar estadísticas resumidas (por ejemplo, N para cada ID de sujeto para cada análisis).
Automatización y secuencias de comandosAnálisis y modelado de datos básicosRe: Generar tabla resumen con valores p de prueba t iterativaNo puedo entender qué está haciendo con los valores en su tabla principal, con la nueva visualización en su tabla de informes. Por favor detalle los pasos que está tomando para transformar los datos.
Re: Generar tabla resumen con valores p de prueba t iterativaHola @LinkageBee996 ,
Estoy de acuerdo con @txnelson , es difícil entender cómo pasas de tu tabla de datos principal a la que estás generando manualmente. Podría funcionar mejor para su propósito reorganizar su tabla de datos y organizarla de manera diferente. Esto podría requerir dividirlos o unir los datos de manera diferente a como están estructurados actualmente.
La razón por la que menciono esto es que a veces los análisis se pueden realizar utilizando una variable de grupo BY y luego los resultados del análisis se pueden obtener fácilmente en una tabla de datos más grande haciendo clic derecho en una tabla de informe y seleccionando Crear tabla de datos combinados. Puedes ver si esto es lo que funcionaría para ti usando los datos de muestra de Big Class.jmp y haciendo un ANOVA Fit Y by X con :sex como eje x y :height como Y (para ver mejor cómo se hace la tabla de datos combinada funciona, use :age como variable BY). Realice su prueba t y luego haga clic derecho en la tabla de estadísticas de interés y seleccione crear tabla de datos combinados.
Si hace eso para la prueba t y también para las medias de Oneway Anova, puede unir esas tablas de datos para tener el valor medio de cada grupo junto con el valor p para la prueba t. Debería terminar pareciéndose a esto, que podría estar en la línea de lo que buscas.

Por supuesto, siempre puede guardar los scripts generados en las tablas de datos para juntarlos todos en un único script de trabajo, o usar la grabadora Workflow Builder y podrá escribir el script por usted, consulte aquí .
Espero que esto ayude,
DS
Re: Generar tabla resumen con valores p de prueba t iterativaHola @txnelson y @SDF1 . Espero poder aclarar la solicitud y tal vez enfocar un poco el alcance. Trabajo con @LinkageBee996 y me pidió que le ayudara a aclararlo.
El flujo de trabajo actual es el siguiente:
1) Comience con la tabla de datos que compartió @LinkageBee996 . Para simplificar las cosas, ignoraré la columna del año y me centraré únicamente en el IMC.
2) Realice una prueba t simple de dos muestras comparando cada uno de los ID de sujeto que están etiquetados como "No" como referencia con el ID de sujeto (A1454) que está etiquetado como "Sí" como referencia para un total de 5 comparaciones (hay una razón por la que estamos haciendo esto en lugar de hacer algo como una prueba de Dunnetts). Actualmente hacemos esto uno por uno usando el filtro de datos local en la plataforma unidireccional en 'Fit Y by X'
3) Actualmente, los resultados de la prueba t (valores p y demás) se transcriben manualmente a un archivo en blanco (tabla CSV o JMP). Dado que estamos haciendo una prueba a la vez, usar 'Convertir en tabla de datos' no es práctico ya que terminas con tantas tablas de datos como comparaciones tienes, luego tendrías que combinarlas en una sola tabla de datos.
Nos gustaría automatizar esta parte del análisis que es una prueba futura para cualquier ID de sujeto nuevo que podamos estar probando, por lo que el script debe (en el orden que tenga más sentido) hacer lo siguiente. Esto es lo que tiene sentido en mi cabeza al hacer análisis similares en Python y otro software:
1. Cree una lista de ID "sin referencia"
2. Para cada ID que no sea de referencia, realice un análisis unidireccional y una prueba t de dos muestras comparándolo con el ID del sujeto que está etiquetado como "Sí" como referencia (y supongamos que siempre habrá exactamente uno de estos)
3. Guarde los resultados de la prueba t en una tabla de datos. Una nota aquí: los formatos predeterminados de 'convertir en tabla de datos' y 'crear tabla de datos combinados' no guardan algunos de los metadatos de la comparación; por ejemplo, indicará el encabezado de su columna (X es el ID del sujeto, Y es IMC), pero no le dirá cómo son los dos valores de X, se muestra en la parte superior de la interfaz de usuario de resultados de la prueba t en el análisis ('A1454-B8565'). Nos gustaría capturar esta información: estás comparando dos cosas, ¿cuáles son las dos cosas que estás comparando?
4. Combine todos los resultados de la prueba t de cada comparación del conjunto de datos en una única tabla de datos. A partir de ahí, será simplemente un problema de manipulación de datos que probablemente podamos resolver para ponerlo en el formato que sea más útil.
Con suerte, esto proporcionará más claridad; avísenos si todavía hay ambigüedad en torno a esto.
Re: Generar tabla resumen con valores p de prueba t iterativaHola @Moser_stefan y @LinkageBee996 ,
Entiendo mejor qué es lo que estás intentando hacer. Aquí hay algunos pensamientos:
1. Según su descripción, sigo pensando que reestructurar su tabla de datos podría ser beneficioso para que pueda aprovechar la variable BY en el análisis ANOVA y luego Crear tabla de datos combinados. Puede que sea necesario pensar un poco en cómo reformatear la tabla de datos, pero creo que podría valer la pena. Incluso si terminas con muchas tablas de datos, siempre puedes hacer una unión. y combinarlos en una sola tabla de datos al final.
2. Creo que es una gran idea automatizar dicho proceso, especialmente si los análisis se van a repetir con futuros conjuntos de datos. En ese sentido, le recomiendo encarecidamente que se tome el tiempo para aprender a codificar JSL por su cuenta. Cada uno tiene sus propias necesidades específicas cuando se trata de este tipo de cosas, y si puede aprender JSL para beneficiar a su organización, lo impulsará hacia adelante mucho más rápido de lo que pueda imaginar. Las soluciones de secuencias de comandos para los problemas de JMP facilitan la vida y agilizan mucho la obtención de resultados. Hay un montón de buena información disponible, especialmente en el foro de debates en línea, pero también aquí . Puede descargar una gran cantidad de buena documentación de JMP aquí , incluida la última Guía de secuencias de comandos en PDF. Además, también está el índice de secuencias de comandos en Ayuda > Índice de secuencias de comandos. Como se mencionó anteriormente, si es nuevo en la codificación y las secuencias de comandos, considere usar el generador de flujo de trabajo, que generará la secuencia de comandos necesaria para usted. Dicho esto, mi recomendación es que lo aprenda usted mismo para tener más control/flexibilidad a la hora de codificar su trabajo.
3. Sin tener su tabla de datos real con la que trabajar (incluso si está anónima para proteger cualquier información confidencial), es muy difícil generar un script para otra persona que funcione genéricamente, es decir, en "todas" las circunstancias (por supuesto, nada). realmente funciona en todas las circunstancias posibles, pero el punto sigue siendo: hacerlo generalizable). Escribir código para otros depende en gran medida de la tabla de datos con la que está trabajando y de la estructura de los datos dentro de la tabla porque cambia la forma en que puede abordar el análisis y la agrupación de resultados, etc.
Sé que esta no es realmente la respuesta que está buscando, pero creo que si invierte algo de tiempo en reestructurar sus datos y/o aprender JSL, encontrará que el pago supera con creces los esfuerzos realizados.
¡Buena suerte!,
DS
Re: Generar tabla resumen con valores p de prueba t iterativaGracias por la respuesta @SDF1 . El camino JSL tiene sentido, tengo algo de experiencia con él, pero ciertamente no soy un experto, por lo que es una buena oportunidad para desarrollar nuestras habilidades aquí. De todos modos, tener su perspectiva sobre posibles caminos para resolver este problema es útil para ver cuáles son algunas de las opciones.
Una cosa que me cuesta ver es cómo se podría usar la función 'por', principalmente porque tenemos un grupo de datos (el conjunto de datos de referencia) que queremos reutilizar en cada comparación y un grupo (el conjunto de datos sin referencia). ) que debería dividirse 'por'. La única forma en que veo que esto funcione es si replicamos el conjunto de datos de referencia para cada comparación y luego le damos alguna variable única (por ejemplo, una columna de 'comparación'). Tal vez eso funcione... sólo tendremos que pensar si replicar datos en la tabla de datos sin procesar crea otros problemas o riesgos.
Bueno, definitivamente nos diste algo en qué pensar y agradezco el tiempo que te tomaste para responder. Nos aseguraremos de dar seguimiento a cualquier solución que se nos ocurra.
Re: Generar tabla resumen con valores p de prueba t iterativaHola @Moser_stefan y @LinkageBee996 ,
Feliz de ayudar. Y creo que entiendo un poco mejor cómo están estructurados sus datos por qué la variable BY sería un poco difícil. Probablemente sería necesaria una reestructuración considerable de sus datos para que eso funcione como pensaba o pretendía.
En cambio, lo que sería mejor que hiciera es tomar subconjuntos de sus datos en función de la columna ID del sujeto y quizás también usar la columna Referencia. Luego, realice su análisis de prueba t en cada una de las ID de referencia y de sujeto de las tablas de datos del subconjunto. Luego, use Convertir en tabla de datos y luego una las tablas de datos resultantes en función de una columna, por ejemplo, la Columna 1 en el resultado de Convertir en tabla de datos. Esta podría ser la forma más rápida de pasar de su formato de datos actual a una solución sin tener que dedicar demasiado tiempo a reestructurar sus datos.
En este sentido, creé una tabla de datos simulada (adjunta) con una columna de Fuente (como su ID de sujeto) y varios scripts. Puede examinar los scripts haciendo clic derecho y seleccionando editar, pero también puede ejecutarlos: ejecutarlos agrupados por Fuente A o B, y luego ejecutar el último script que une las dos tablas de datos en una tabla de datos final. Según tu descripción, parece que quieres hacer algo como esto. Como mínimo, esperamos que los guiones le ayuden y le proporcionen un punto de partida para abordar sus necesidades específicas.
¡Espero que esto ayude!,
DS
Re: Generar tabla resumen con valores p de prueba t iterativaHola @Moser_stefan ,
Me alegra saber que ha podido automatizar la recopilación y el análisis de datos. Siempre es de gran ayuda completar este tipo de tareas, ya que a la larga ahorra mucho tiempo.
¡Buen trabajo!,
DS