compter les colonnes de caractères en jslJ'ai une table de données avec plusieurs colonnes de données avec des réponses binaires 0/1 (caractère, nominale). Je souhaite 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 ? J'ai l'impression que cela devrait être facile, mais je me heurte à des obstacles. 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 de sang (caractère, nominal) | chirurgie (personnage, nominal) | NOUVELLE COLONNE : nombre de complications (numérique, continue) |
| 0 | 1 | 1 | 2 |
1 | 1 | 1 | 3 |
| 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
Modélisation statistique avancéeAutomatisation et scriptsÉtudes de consommation et de marchéPersonnalisation de masseAnalyse de fiabilitéRe : compter les colonnes de caractères en jslMerci à tous les deux @Mark_Bailey et @txnelson pour avoir proposé 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 afin qu'il soit réutilisé à l'avenir.
merci!
Re : compter les colonnes de caractères en jsl@Mark_Bailey 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 en jslUne formule suffit.

Voici le résultat.
