Anni da<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho un grosso database di pazienti ospedalizzati per una determinata condizione. Ho cercato di creare una nuova colonna per indicare gli "anni prima della morte". Vedi sotto:
| ANNO | paziente | Mortality_in365days | Anno della morte | Anni prima della morte |
|---|
| 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 |
Una stella nella colonna mortality_in365days significa che sono morti negli ultimi 365 giorni. Conosco gli anni prima che la morte non sia un calcolo esatto poiché, a seconda di quanto tempo fa sono morti (30 giorni contro 365 giorni), potrebbe significare che sono morti l'anno precedente. Avevo creato JMP per creare la colonna dell'anno della morte, e poi ho fatto una semplice formula di sottrazione per calcolare anni prima della morte, ma poi mi sono imbattuto in problemi. L'ho fatto manualmente utilizzando la funzione di aggiornamento poiché non sono ancora molto bravo in fase di scripting. Se puoi aiutarmi con istruzioni manuali o script, fammi sapere. Inoltre, se hai qualche raccomandazione per i libri di scripting per JMP, lo apprezzerei.
Anni daEcco una formula per calcolare Anno della morte che puoi incollare nell'editor di formule:
Locale ({pat, rows},
pat =: paziente;
rows = Current Data Table () << Get Rows Where (: Mortality_in365days == "*" &: patient == pat);
Se (N righe (righe)> 0,
: year [righe] [1],
.
);
)
Restituisce l'anno della prima riga in cui la mortalità ha "*" e il paziente ha lo stesso ID del paziente corrente.