Steigungsberechnung und Zusammenstellung für mehrere Fälle mit unterschiedlicher Anzahl von BeobachtungenHallo,
Ich weiß, dass das Thema der linearen Steigungsberechnung bereits diskutiert wurde, aber ich konnte keine effiziente Möglichkeit finden, eine tabellarische Ausgabe von Steigungen für eine Reihe von Fällen (z. B. Patienten) zu erstellen, für die ich eine unterschiedliche Anzahl von Beobachtungen als Funktion der Zeit habe.
Hier ist ein Screenshot der Daten (Schein; die tatsächliche Datei ist angehängt):
Mock data for SLOPE calculationMock data for SLOPE calculationScheindaten für die SLOPE-Berechnung
Den Ratschlägen früherer Diskussionen in diesem Forum folgend, habe ich die Funktion „Anpassung Y nach
Ausgabe: 5 Analysen identisch mit der folgenden:

Wo ich nicht weiterkomme, ist die Frage, wie ich die Schätzung der Steigung in einer neuen Tabelle zusammenfassen kann, die so aussehen würde:
| Patienten ID | Neigung |
| AAA | m1 |
| BBB | m2 |
| CCC | m3 |
| DDD | m4 |
| EEE | m5 |
Jeder Vorschlag wäre willkommen: Ich bin weder an das ursprüngliche Datenformat noch an die Analysemethode gebunden.
Danke
Betreff: Steigungsberechnung und Zusammenstellung für mehrere Fälle mit unterschiedlicher Anzahl von BeobachtungenÜberprüfen Sie die Baumstruktur und die JMP-Version. Mein Code funktioniert in JMP 11.2.1, 12.2.0 und 13.1.0. Manchmal gibt es beim Übergang von einer Version zur anderen Unterschiede in den zugrunde liegenden Strukturen. Wenn Sie in den Zahlenspaltenfeldern ein regelmäßiges Muster sehen (z. B. 7, 22, 37, 52, 67), können Sie dieses in die Schleife einbauen.
Betreff: Steigungsberechnung und Zusammenstellung für mehrere Fälle mit unterschiedlicher Anzahl von BeobachtungenEin Skript könnte die Schätzungen auch mithilfe verschiedener Techniken extrahieren. Der gemeinsame Iterationsansatz wird aufgrund der By-Gruppen umständlich, kann aber unkompliziert sein, wenn auch nur mit roher Gewalt. Eine elegantere Lösung würde eine einzige XPath-Abfrage im Berichtsanzeigebaum verwenden, um alle Steigungen als Vektor abzurufen. Ich habe im Moment keine Zeit, die genaue Syntax zu recherchieren, aber abgesehen von den Details wäre es einfach. Etwas wie das:
plat << XPath( "//NumberColBox[NumberColBoxHeader=\!"Estimate\!"]" ) << Get( 2 );
Betreff: Steigungsberechnung und Zusammenstellung für mehrere Fälle mit unterschiedlicher Anzahl von BeobachtungenDanke: Ich vergesse diese sehr nette Funktion immer
Betreff: Steigungsberechnung und Zusammenstellung für mehrere Fälle mit unterschiedlicher Anzahl von BeobachtungenHallo,
Vielen Dank für Ihre schnelle Antwort: Es ist das, wonach ich gesucht habe, mit der Ausnahme, dass das „Abrufen“ von „parameter_estimate“ aus dem Bericht mit mehreren Diagrammen nicht funktioniert, da die NumberColBox (7) nur für das erste Diagramm funktioniert. Die folgenden Diagramme haben ihre entsprechende NumberColBox 23, 37 usw.
Ich bin nicht sicher, wie ich den NumberColBox-Aufruf durchlaufen soll.
Irgendwelche Gedanken?
Danke
TS
Betreff: Steigungsberechnung und Zusammenstellung für mehrere Fälle mit unterschiedlicher Anzahl von BeobachtungenDu hast das entdeckt Von Rollengruppe die Daten für eine separate Regressionsanalyse. (Ich hoffe, Sie wissen, dass Sie die Strg-Taste gedrückt halten müssen, bevor Sie auf das rote Dreieck klicken und den Befehl „Linie anpassen“ auswählen!) Klicken Sie nun mit der rechten Maustaste auf die Tabelle „Parameterschätzungen“ und wählen Sie „Kombinierte Datentabelle erstellen“.
Betreff: Steigungsberechnung und Zusammenstellung für mehrere Fälle mit unterschiedlicher Anzahl von BeobachtungenDieser Code wird es schaffen. Das „Geheimnis“ besteht darin, sich die zugrunde liegende Baumstruktur der in einen Bericht konvertierten Ausgabe anzusehen.
dt = data table("SLOPE_Calculation_mock_data");
bv = dt << Bivariate(
Y( :Change in Measure ),
X( :Time ),
Fit Line( {Line Color( {213, 72, 87} )} ),
By( :Patient_ID )
);
// Figure out how many patients there are
dtab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :Patient_ID ) ) ),
invisible
);
pdt = dtab << Make Into Data Table;
np = nrows(pdt);
patient_list = pdt:Patient_ID << get values;
dtab << close window;
pdt << new column("Slope", numeric, continuous);
bvrep = bv << report;
//bvrep << show tree structure; // Used to get underlying structure
for (i = 1, i <= np, i++,
parameter_estimates = bvrep[i][numbercolbox(7)] << get;
one_slope = parameter_estimates[2];
pdt:Slope[i] = one_slope;
);