Ciao, sono un utente nuovo e inesperto di JMP che lavora alla mia tesi di dottorato. Semplicemente non riesco a trovare come confrontare una parte dei miei dati e ho bisogno di assistenza. I miei dati sono costituiti da 146 colonne con 1 o 0 (sì/no) rispettivamente per 146 condizioni mediche. Ho circa 14000 righe (pazienti) da cui confrontare questi dati. Devo trovare l'ordine per le combinazioni più comuni per due condizioni mediche nella stessa persona. Come lo posso fare?
molto grato per l'aiuto,
Emma
Ho creato uno script di esempio, che genera una tabella dati di esempio su cui eseguire l'analisi.Sto solo creando 100 righe di dati perché ci vuole un po' di tempo per creare le coppie di dati.La tabella risultante fornisce il conteggio del numero di pazienti in cui è stata trovata ciascuna combinazione di condizioni mediche.

Lo script impiegherà un bel po' di tempo se lo esegui su tutti i 14000 pazienti contemporaneamente.Puoi facilmente eseguirlo su sottoinsiemi di dati e quindi combinare le tabelle risultanti.
Names Default To Here( 1 );
dt = New Table( "raw Data" );
dt << add rows( 100 );
dt << New Column( "Patient", set each value( Row() ) );
Try( dt << delete columns( "Column 1" ) );
For( i = 1, i <= 146, i++,
dt << New Column( "Med Cond " || Char( i ),
set each value( Round( Random Uniform( 0, 1 ), 0 ) )
)
);
// Create the paired data table
dtPair = New Table( "Pairs",
New Column( "Patient" ),
New Column( "First Med Cond", Character ),
New Column( "Second Med Cond", Character )
);
//Populate the Pairs Table
For( theRow = 1, theRow <= N Rows( dt ), theRow++,
For( theFirstCond = 2, theFirstCond <= N Cols( dt ), theFirstCond++,
If( Column( dt, theFirstCond )[theRow] == 1,
thePatient = dt:Patient[theRow];
firstCond = (Column( dt, theFirstCond )) << get name;
For( theSecondCond = theFirstCond + 1, theSecondCond <= N Cols( dt ),
theSecondCond++,
If( Column( dt, theSecondCond )[theRow] == 1,
dtPair << add row( 1 );
pairRow = N Rows( dtPair );
dtPair:Patient[pairRow] = thePatient;
dtPair:First Med Cond[pairRow] = firstCond;
dtPair:Second Med Cond[pairRow] = (Column( dt, theSecondCond )) << get name;
)
);
)
)
);
dtSummary = dtPair << Summary(
Group( :First Med Cond, :Second Med Cond ),
Freq( "None" ),
Weight( "None" )
);
dtSummary << sort( by(N Rows), order(descending), replace table(11));Ciao @EmmaLT ,
Penso di avere un'idea di come fare ciò che stai chiedendo, ma sarebbe utile se potessi condividere alcuni dei tuoi dati: puoi renderli anonimi se necessario. Non è necessario che sia l'intero set di dati, solo un sottoinsieme in modo da poter capire meglio come sono strutturati i dati in quanto ciò potrebbe influire su come eseguire l'analisi.
DS