Re: iterar sobre todas las columnas y hacer coloreado condicional basado en la desviación estándarModifiqué un poco su script, al cambiar sus referencias de usar la función: Name () a usar las funciones Column () y As Column (). También cambié levemente la llamada << obtener nombres de columna. Pero aparte de eso, estabas en el camino correcto. Mi guión parece funcionar como quisieras
Names Default To Here( 1 );
dt = Current Data Table();
col = dt << get column names( string, continuous );
nc = N Items( col );
For( i = 1, i <= nc, i++,
mu = Col Mean( Column( col[i] ) );
sd = Col Std Dev( Column( col[i] ) );
lo = mu - 3 * sd;
hi = mu + 3 * sd;
rows = dt << Get Rows Where( lo <= as Column( col[i] ) <= hi );
Column( col[i] ) << Color Cells( "Red", rows );
rows = dt << Get Rows Where( as Column( col[i] ) < lo | as Column( col[i] ) > hi );
Column( col[i] ) << Color Cells( "Purple", rows );
lo = mu - 2 * sd;
hi = mu + 2 * sd;
rows = dt << Get Rows Where( lo <= as Column( col[i] ) <= hi );
Column( col[i] ) << Color Cells( "Yellow", rows );
lo = mu - sd;
hi = mu + sd;
rows = dt << Get Rows Where( lo <= as Column( col[i] ) <= hi );
Column( col[i] ) << Color Cells( "Green", rows );
);
Re: iterar sobre todas las columnas y hacer coloreado condicional basado en la desviación estándar¡Gracias! Funciona.
iterar sobre todas las columnas y colorear condicional según la desviación estándarMi objetivo original era colorear las celdas en una sola columna en función de si el valor de una celda determinada es: dentro de 1 sigma,> 1 sigma pero <2 sigma,> 2 sigma pero
sigma, y> 3 sigma, el sigma es la desviación estándar de la columna misma. Ahora espero iterar sobre todas las columnas y ejecutar la coloración condicional en todas ellas, pero mi código de bucle for de la siguiente manera no funciona.
col = dt << obtener nombres de columna (cadena); nc = nitems (col); para (i = 2, i <= nc, i ++, mu = Col Media (: Nombre (col [i])); sd = Col Std Dev (: Nombre (col [i])); lo = mu - 3 * sd; hi = mu + 3 * sd; filas = dt << Obtener filas donde (lo <=: Nombre (col [i]) <= hi);: Nombre (col [i]) << Celdas de color ("Rojo ", filas); filas = dt << Obtener filas donde (: Nombre (col [i]) hi);: Nombre (col [i]) << Celdas de color ( "Púrpura", filas); lo = mu - 2 * sd; hi = mu + 2 * sd; filas = dt << Obtener filas donde (lo <=: Nombre (col [i]) <= hi);: Nombre (col [i]) << Celdas de color ("Amarillo", filas); lo = mu - sd; hi = mu + sd; filas = dt << Obtener filas donde (lo <=: Nombre (col [i]) <= hi);: Nombre (col [i]) << Celdas de color ("Verde", filas););