Créer une colonne<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je suis un novice JMP et j'ai besoin d'aide. J'ai une grande base de données qui suit les patients hospitalisés sur une période de 20 ans. Si un patient a un "*" dans la colonne "365 Mortalité", j'aimerais mettre un 1 dans la colonne "Décès" pour chaque fois que ce patient est répertorié. Voir ci-dessous.
Patient
| 365 Mortalité | Mort |
|---|
| 1 |
| 1 |
| 1 | * | 1 |
| 2 |
|
|
| 2 |
|
|
| 2 |
|
|
| 3 |
| 1 |
| 3 |
| 1 |
| 3 | * | 1 |
| 4 |
|
|
| 4 |
|
|
| 5 |
| 1 |
| 5 | * | 1 |
Créer une colonneMerci pour toute votre aide!
Re: Créer une colonneEt une autre approche:
dtmort = Table de données ("Mortalité");
dtby = dtmort << Résumé (Groupe (: Nom ("365 Mortalité"),: Patient), Lien vers le tableau de données d'origine (0));
dtby << sélectionnez où (: name ("365 Mortality")! = "*");
dtby << delete rows;
dtby << Nouvelle colonne ("Death1", Numérique, Continu, Format ("Meilleur", 9, définissez chaque valeur (1));
dtby << delete columns ("365 mortalité");
dtmort << Update (avec (table de données (dtby)), colonnes de correspondance (: Patient =: Patient), ajout de colonnes à partir du tableau de mise à jour (: Death1));
fermer (dtby, nosave);
Créer une colonneVoici une autre façon de le faire. L'approche peut être appliquée à une formule de colonne (exécutez ce script ou collez le code dans Formula () dans une nouvelle propriété de formule de colonnes):
dt << Nouvelle colonne ( "mort" ,
formule ( Si ( Tableau associatif ( Comme liste ( : Patient << obtenir des valeurs ) , : prénom ( "365 Mortalité" ) << obtenir des valeurs ) [ : Patient []] == "*" , 1 ) )
) ;
Sinon, si une formule dynamique n’est pas nécessaire ou si la base de données est très volumineuse (des formules complexes peuvent ralentir les choses), vous pouvez le faire à l’aide d’un script jsl:
dt << Tableau de données actuel () ;
col = ( dt << Nouvelle colonne ( "mort" )) ;
Pour chaque rangée (
Si ( Tableau associatif ( Comme liste ( : Patient << obtenir des valeurs ) , Colonne ( "365 Mortalité" ) << obtenir des valeurs ) [ : Patient []] == "*" ,
col [] = 1
)
) ;
Créer une colonneJe pense que c'est un peu plus compliqué que ça. jstewart veut un 1 dans la colonne Mort si une rangée de patients a un *. Voici une façon de le faire:
dt = tableau de données ( "Mortalité" ) ;
dt << Nouvelle colonne ( "Death1" , Numérique , Continu , Format ( "Meilleur" , 9 )) ;
dt1 = ( dtab = dt << Tabuler (
Afficher le panneau de configuration ( 0 ) ,
Ajouter une table ( Tableau de rangée ( Regroupement de colonnes ( : Patient , : prénom ( "365 Mortalité" ) ) ) )
)) << Faire en table de données ;
dtab << Fermer la fenêtre ;
pour ( je = 1 , je <= maintenant ( dt1 ) , je ++,
patient_no = colonne ( dt1 , "Patient" ) [ je ] ;
pat_rows = dt << obtenir des rangées où ( : Patient == eval ( patient_no )) ;
colonne ( dt , "Death1" ) [ pat_rows ] = 1 ;
) ;
Créer une colonneCela peut être fait avec une instruction if, via le volet d'informations de la colonne ou JSL. Voici un exemple rapide de la JSL
dt = tableau de données actuel () ;
dt << Nouvelle colonne ( "Mort" , Formule ( Si ( : prénom ( "365 Mortalité" ) == "*" , 1 ) )) ;