Jahre seit<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe eine große Datenbank von Patienten, die für einen bestimmten Zustand ins Krankenhaus eingeliefert wurden. Ich habe versucht, eine neue Kolumne zu erstellen, um die "Jahre vor dem Tod" anzuzeigen. Siehe unten:
| JAHR | geduldig | Mortality_in365days | Todesjahr | Jahre vor dem Tod |
|---|
| 1990 | 221 |
| 1995 | 5 |
| 1991 | 221 |
| 1995 | 4 |
| 1991 | 221 |
| 1995 | 4 |
| 1993 | 221 |
| 1995 | 2 |
| 1995 | 221 | * | 1995 | 0 |
| 2000 | 789 |
| 2002 | 2 |
| 2001 | 789 |
| 2002 | 1 |
| 2002 | 789 | * | 2002 | 0 |
| 2001 | 965 |
| 2005 | 4 |
| 2005 | 965 | * | 2005 | 0 |
Ein Stern in der Spalte mortality_in365days bedeutet, dass sie innerhalb der letzten 365 Tage gestorben sind. Ich weiß, dass die Jahre vor dem Tod keine exakte Berechnung sein werden, da sie, je nachdem, wie lange sie gestorben sind (30 Tage gegenüber 365 Tagen), bedeuten können, dass sie im vergangenen Jahr gestorben sind. Ich hatte JMP eingerichtet, um die Spalte für das Todesjahr zu erstellen und dann eine einfache Subtraktionsformel zu erstellen, um die Jahre vor dem Tod zu berechnen, aber dann bin ich auf Probleme gestoßen. Ich hatte es manuell mit der Update-Funktion gemacht, da ich noch nicht sehr gut mit dem Scripting umgehen kann. Wenn Sie mir entweder durch manuelle Anweisungen oder durch Skripte helfen können, lassen Sie es mich wissen. Wenn Sie Empfehlungen für Scripting-Bücher für JMP haben, würde ich mich darüber freuen.
Jahre seitHier ist eine Formel zur Berechnung des Todesjahres, die Sie in den Formeleditor einfügen können:
Local ({pat, row},
pat =: Patient;
Zeilen = Tabelle der aktuellen Daten () << Zeilen abrufen, wobei (: Mortality_in365days == "*" &: patient == pat);
Wenn (N Zeilen (Zeilen)> 0,
: JAHR [Zeilen] [1],
.
);
)
Es gibt das Jahr für die erste Zeile zurück, in der die Sterblichkeit "*" hat und der Patient dieselbe ID wie der aktuelle Patient hat.