compter les colonnes de caractères dans jslJ'ai une table de données avec plusieurs colonnes de données avec des réponses binaires 0/1 (caractère, nominal). Je veux créer une nouvelle colonne (numérique, continue) où je compte les instances de "1" dans ces colonnes.
quelqu'un peut-il m'aider à créer un script pour créer cette colonne? Je pense que cela devrait être facile, mais je me heurte à des barrages routiers. Dois-je convertir mes colonnes de caractères en colonnes numériques / continues et faire une formule de sommation?Merci!
Exemple de tableau
| infection (caractère, nominal) | caillot sanguin (caractère, nominal) | chirurgie (caractère, nominal) | NOUVELLE COLONNE: nombre de complications (numériques, continues) |
| 0 | 1 | 1 | 2 |
1 | 1 | 1 | 3 |
| 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
ScriptingRe: compter les colonnes de caractères dans jslUne formule est tout ce dont vous avez besoin.

Voici le résultat.

Re: compter les colonnes de caractères dans jsl@markbailey fourni une bonne solution
Voici une autre façon de résoudre le problème
Names Default To Here( 1 );
dt = Current Data Table();
charNames = dt << get column names( character );
// convert char columns to numeric
For( i = 1, i <= N Items( charNames ), i++,
Column( dt, charNames[i] ) << data type( numeric )
);
// Create the jsl required to sum all of the specified columns
theExpr = "dt << new column(\!"number of complications\!", formula(sum(" ||
Substr( Char( charnames ), 2, Length( Char( charNames ) ) - 2 ) || "));";
// Execute the line of code created
Eval( Parse() );
// Delete the formula leaving the static values
Column( dt, "number of complications" ) << delete formula;
// Convert the binary columns back to character
For( i = 1, i <= N Items( charNames ), i++,
Column( dt, charNames[i] ) << data type( character )
);Re: compter les colonnes de caractères dans jslMerci aux deux @markbailey et @txnelson pour avoir fourni deux approches à mon problème. Je vais utiliser le script car j'essaie de créer un script complet pour la création de ma table de données à utiliser à nouveau dans le futur.
Merci!