Wie vergleiche ich Zeilen mit 0 und 1, um die Prävalenz und Häufung zweier Erkrankungen herauszufinden?Hallo, ich bin ein neuer und unerfahrener Benutzer von JMP und arbeite an meiner Doktorarbeit. Ich finde einfach nicht heraus, wie ich einen Teil meiner Daten vergleichen kann, und benötige Hilfe. Meine Daten bestehen aus 146 Spalten mit entweder 1 oder 0 (ja/nein) für jeweils 146 Erkrankungen. Ich habe etwa 14.000 Zeilen (Patienten), aus denen ich diese Daten vergleichen kann. Ich muss die Reihenfolge der häufigsten Kombinationen für zwei Erkrankungen bei derselben Person herausfinden. Wie kann ich das machen?
sehr dankbar für Hilfe,
Emma
Erweiterte statistische ModellierungDatenmischung und -bereinigungBetreff: Wie vergleiche ich Zeilen mit 0 und 1, um die Prävalenz und Häufung zweier Erkrankungen herauszufinden?Vielen Dank an Txnelson und alle anderen für Ihre Ratschläge und Vorschläge! Da ich bei der Analyse ins Stocken geraten bin und mit der Extraktion der Originaldaten von vorne beginnen musste, konnte ich die Lösungen noch nicht ausprobieren. Ich werde wiederkommen, wenn es soweit ist. Danke schön!
Betreff: Wie vergleiche ich Zeilen mit 0 und 1, um die Prävalenz und Häufung zweier Erkrankungen herauszufinden?Es kommt vor, dass „ die Reihenfolge der häufigsten Kombinationen für zwei Erkrankungen bei derselben Person „ könnte einige unterschiedliche Analyseziele implizieren. Unabhängig davon, welche Analyse impliziert wird, würde ich jedoch dringend empfehlen, zunächst einen Blick darauf zu werfen, was in Ihren Daten enthalten ist.
Ein Ansatz wäre die Verwendung von „Spalten > Dienstprogramme > Spalten kombinieren...“, um eine neue Spalte zu erstellen, die den Status jedes Patienten für jede Erkrankung enthält. Anschließend können Sie mit „Graph > Graph Builder“ eine Baumkarte dieser neuen Spalte erstellen und die Ergebnisse über den Tooltip überprüfen. Wenn Sie nicht genau wissen, wie das geht, versuchen Sie es mit Online-Dokumentation . Seien Sie sich bewusst, dass dies bei so vielen Bedingungen einfach ein Chaos sein kann.
Als neuer Benutzer sind Sie wahrscheinlich nicht an Skripten interessiert. Das folgende Skript simuliert jedoch einige Daten und erstellt die Treemap. Aufgrund der Zufälligkeit kann das, was Sie sehen, jedes Mal anders sein. Aber wenn Sie diesen Code ausführen, sollte ein Diagramm wie das folgende entstehen:

Um das Skript auszuführen, wählen Sie „Datei > Neu > Neues Skript“, fügen Sie den Code in das angezeigte Fenster ein und wählen Sie dann „Bearbeiten > Skript ausführen“.
NamesDefaultToHere(1);
// Generate some fake binary data for each condition (maximum possible incidence for one condition is 20% of the patients):
// This is unrepresentative since the incidences of the conditions are treated as independent, but the in practice this may not
// be the case
nr = 1400; // Number of patients
nc = 15; // Number of conditions
m = J(nr, nc, 0);
for(c=1, c<=nc, c++,
incidence = RandomInteger(0, Round(0.2 * nr));
m[RandomIndex(nr, incidence), c] = 1;
);
dt = asTable(m);
dt << setName("Fake Incidence Data");
// Use 'Combine Columns' to make a binary string for each patient indicating what conditions they have
cols = dt << getColumnNames;
dt << combineColumns(columns(Eval(cols)), ColumnName("Patient Condition"), Delimiter( "" ), MultipleResponse(0));
// Make a Treemap of the patient conditions
dt << Graph Builder(
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Patient Condition ) ),
Elements( Treemap( X, Legend( 1 ) ) )
);
// Aggregate the patient comnditions to a new table and sort it (descending)
//dt2 = dt << Summary(Group(:Patient Condition));
//dt2 << Sort(By(:N Rows), ReplaceTable, Order(Descending));
Betreff: Wie vergleiche ich Zeilen mit 0 und 1, um die Prävalenz und Häufung zweier Erkrankungen herauszufinden?Ich habe ein Beispielskript erstellt, das eine Beispieldatentabelle generiert, auf der die Analyse ausgeführt wird.Ich erstelle nur 100 Datenzeilen, da die Erstellung der Datenpaare eine Weile dauert.Die resultierende Tabelle zeigt die Anzahl der Patienten, bei denen jede Kombination von Erkrankungen festgestellt wurde.

Das Skript wird einige Zeit in Anspruch nehmen, wenn Sie es für alle 14.000 Patienten gleichzeitig ausführen.Sie können es problemlos auf Teilmengen der Daten ausführen und dann die resultierenden Tabellen kombinieren.
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));Betreff: Wie vergleiche ich Zeilen mit 0 und 1, um die Prävalenz und Häufung zweier Erkrankungen herauszufinden?Hallo @EmmaLT ,
Ich denke, ich habe eine Idee, wie ich das umsetzen kann, wonach Sie fragen, aber es wäre hilfreich, wenn Sie einige Ihrer Daten weitergeben könnten – Sie können sie bei Bedarf anonymisieren. Es muss sich nicht um den gesamten Datensatz handeln, sondern nur um eine Teilmenge, damit ich besser verstehen kann, wie die Daten strukturiert sind, da dies Auswirkungen auf die Durchführung der Analyse haben kann.
DS