contando columnas de caracteres en jslTengo una tabla de datos con varias columnas de datos con respuestas binarias 0/1 (carácter, nominal). Quiero crear una nueva columna (numérica, continua) donde estoy contando las instancias de "1" en estas columnas.
¿Alguien puede ayudarme a crear un script para crear esta columna? Siento que esto debería ser fácil, pero me estoy encontrando con obstáculos. ¿Tengo que convertir mis columnas de caracteres en columnas numéricas / continuas y hacer una fórmula de suma?¡Gracias!
Tabla de ejemplo
| infección (carácter, nominal) | coágulo de sangre (carácter, nominal) | cirugía (carácter, nominal) | NUEVA COLUMNA: número de complicaciones (numéricas, continuas) |
| 0 | 1 | 1 | 2 |
1 | 1 | 1 | 3 |
| 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
ScriptingRe: contar columnas de caracteres en jslUna fórmula es todo lo que necesita.

Aquí está el resultado.

Re: contar columnas de caracteres en jsl@markbailey proporcionó una buena solución
Aquí hay otra forma de resolver el 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 )
);