Ho creato 2 file per dimostrare il mio problema.
In "Test 1" ho dati da 4 persone (cioè AAAA, BBBB, CCCC, DDDD). Ogni persona ha 8 risposte a una domanda "stima" e 8 risposte a una domanda "verità". La metà delle risposte proviene dal dominio "0" e l'altra metà dal dominio "1".
Vorrei trovare la correlazione tra la stima e la domanda di verità per ogni persona in ciascun dominio. So che posso farlo andando su Analizza / Multivariati Metodi / Multivariato e mettendo le domande di stima e di verità nella casella "Y, Colonne", e sia "ID" che "Dominio" nella casella "Per".
Il problema è che voglio che l'output di questa analisi sia in un'altra tabella JMP in modo da poter eseguire ulteriori analisi sulle correlazioni. Ad esempio, voglio sapere qual è la correlazione tra le persone medie tra stima e verità in ciascuno dei domini. Per fare questo, ho bisogno di un file che assomigli ai dati nel file "Test 2".
Puoi dirmi un modo automatico per produrre i dati "Test 2" dai dati del Test 1? Non posso farlo manualmente perché il set di dati effettivo con cui sto lavorando è enorme.
Potresti esplorare il "makeCombinedDataTableMessage". In JSL, qualcosa come:
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")