Años desde<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una gran base de datos de pacientes hospitalizados por una determinada condición. He estado tratando de hacer una nueva columna para indicar los "años anteriores a la muerte". Vea abajo:
| AÑO | paciente | Mortality_in365days | Año de la muerte | Años antes de la muerte |
|---|
| 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 estrella en la columna death_in365days significa que murieron en los últimos 365 días. Sé que los años anteriores a la muerte no serán un cálculo exacto, ya que dependiendo de cuánto tiempo murieron (30 días versus 365 días) puede significar que murieron el año anterior. Había configurado JMP para hacer la columna del año de la muerte, y luego hacer una fórmula de resta simple para calcular los años antes de la muerte, pero luego tengo problemas. Lo había hecho manualmente usando la función de actualización, ya que todavía no soy muy bueno en las secuencias de comandos. Si puedes ayudarme con instrucciones manuales o con scripting, por favor avísame Además, si tiene alguna recomendación para los libros de scripting para JMP, se lo agradecería.
Años desdeAquí hay una fórmula para calcular el año de la muerte que puedes pegar en el editor de fórmulas:
Local ({pat, filas},
pat =: paciente;
rows = Tabla de datos actuales () << Get Rows Where (: Mortality_in365days == "*" &: patient == pat);
Si (N filas (filas)> 0,
: AÑO [filas] [1],
.
);
)
Devuelve el año para la primera fila donde la mortalidad tiene "*" y el paciente tiene la misma identificación que el paciente actual.