He creado 2 archivos para demostrar mi problema.
En la "Prueba 1" tengo datos de 4 personas (es decir, AAAA, BBBB, CCCC, DDDD). Cada persona tiene 8 respuestas a una pregunta de "estimación" y 8 respuestas a una pregunta de "verdad". La mitad de las respuestas son del Dominio "0" y la otra mitad del Dominio "1".
Me gustaría encontrar la correlación entre la estimación y la pregunta de verdad para cada persona en cada dominio. Sé que puedo hacerlo yendo a Analizar / Métodos multivariables / Multivariado y colocando las preguntas de estimación y verdad en el cuadro "Y, Columnas", y tanto "ID" como "Dominio" en el cuadro "Por".
El problema es que quiero que la salida de este análisis esté en otra tabla JMP para poder realizar análisis adicionales sobre las correlaciones. Por ejemplo, quiero saber cuál es la correlación de las personas promedio entre la estimación y la verdad en cada uno de los dominios. Para hacer esto, necesito un archivo que se parezca a los datos en el archivo "Prueba 2".
¿Puede decirme una forma automática de generar los datos de "Prueba 2" a partir de los datos de Prueba 1? No puedo hacer esto manualmente porque el conjunto de datos real con el que estoy trabajando es enorme.
Podrías explotar el 'makeCombinedDataTableMessage'. En JSL, algo como:
NamesDefaultToHere(1);
// Data table
dt = DataTable("Test 1.jmp");
// Multivariate
m = dt << Multivariate(Y( :Estimate, :Truth ), By( :ID, :Domain ));
// 'm' is a list because of the 'By' variable: Get the report for the first level
mRep = Report(m[1]);
// Get the correlation matrix into a table dt2 (for all levels)
dt2 = mRep[MatrixBox(1)] << makeCombinedDataTable;
// Manipulate dt2 to remove redundancy
dt2 << setName("Correlation Coefficients For By Groups");
dt2 << deleteColumns({3, 4});
r2del = dt2 << getRowsWhere(:Truth == 1);
dt2 << deleteRows(r2del);
Column(dt2, "Truth") << setName("Correlation Coefficient")