Bucle para establecer una fórmula de normalización para varias columnasHola comunidad,
Estoy intentando escribir un script JSL para establecer una fórmula de normalización con referencia de columna dinámica.
What's wrong here?
"Mean(M4_pop)" & "Std Dev(M4_pop)" are fix columns that are to be used for the normalization.
dt = Current Data Table();
numCols = dt << Get Column Names( Numeric, "String" );
For( i = 1, i <= N Items( numCols ), i++,
colName = numCols[i];
normColName = colName || "_norm";
dt << New Column(
normColName,
Numeric,
Continuous,
Formula( (colName- :"Mean(M4_pop)"n) / :"Std Dev(M4_pop)"n)
);
);
Automatización y scriptingRe: Bucle para establecer una fórmula de normalización para varias columnasTendrás que evaluar colName con la fórmula
Insertar una expresión en otra usando Eval Insert, Eval Expr, Parse y Substitute
Re: Bucle para establecer una fórmula de normalización para varias columnasHola David,
Puede que haya soluciones más bonitas, pero esta es una forma de hacerlo funcionar:
dt = Current Data Table();
numCols = dt << Get Column Names( Numeric, "String" );
For( i = 1, i <= N Items( numCols ), i++,
colName = numCols[i];
mean = "Mean(M4_pop)";
std = "Std Dev(M4_pop)";
normColName = colName || "_norm";
dt << New Column(
normColName,
Numeric,
Continuous,
Formula( (as column(colName)- as column (mean)) / as column(Std))
);
);
Salud,
Jonás
Re: Bucle para establecer una fórmula de normalización para varias columnasHola Jonas,
Gracias por tu respuesta. Pequeños cambios que llevaron al éxito.:)