contare le colonne di caratteri in jslHo una tabella dati con diverse colonne di dati con risposte binarie 0/1 (carattere, nominale). Voglio creare una nuova colonna (numerica, continua) dove sto contando le istanze di "1" in queste colonne.
qualcuno può aiutarmi a creare uno script per creare questa colonna? Penso che dovrebbe essere facile, ma mi trovo di fronte a blocchi stradali. Devo convertire le mie colonne di caratteri in colonne numeriche / continue e fare formula di somma?Grazie!
Tabella di esempio
| infezione (carattere, nominale) | coagulo di sangue (carattere, nominale) | intervento chirurgico (carattere, nominale) | NUOVA COLONNA: numero di complicazioni (numeriche, continue) |
| 0 | 1 | 1 | 2 |
1 | 1 | 1 | 3 |
| 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
ScriptingRi: contare le colonne di caratteri in jslUna formula è tutto ciò di cui hai bisogno.

Ecco il risultato.

Ri: contare le colonne di caratteri in jsl@markbailey fornito una buona soluzione
Ecco un altro modo per risolvere il problema
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 )
);Ri: contare le colonne di caratteri in jslGrazie ad entrambi @markbailey e @txnelson per aver fornito due approcci al mio problema. Vado con lo script mentre cerco di creare uno script completo per la creazione della mia tabella dati da utilizzare di nuovo in futuro.
grazie!