Buenos días,
alguien me puede ayudar a depurar esta parte del código
el código debe abrir una ventana de diálogo para la tabla de datos actual.
para las columnas numéricas seleccionadas por diálogo, la secuencia de comandos debe imputar las celdas vacías con la media de la propia columna ...
pero no entiendo por qué por alguna razón no funciona
dt = Tabla de datos actuales ();
cd = columna de diálogo (
Myregcol_x = Collist ("Seleccionar columnas >>", MinCol (1)),
Hlist (""),
);
regcol_x = cd ["Myregcol_x"];
nitems = N Artículos (regcol_x);
colname_num = {};
Para (p = 1, p <= nitems, p ++,
colname_num = regcol_x [p] << Get Data Type;
si (colname_num == "numérico",
Para (i = 1, i <= N items (regcol_x), i ++,
valuess = Column (regcol_x) << obtener valores (1);
valuess [Loc (Is Missing (valuess))] = Mean (valuess);
Columna (regcol_x) << setvalues (valuess, cc [i]);
);
);
);
gracias por adelantado
Gianpaolo
¡¡¡¡Fantástico!!!! , muchas gracias
Tuvo un error lógico en su uso de 2 For Loops. Simplifiqué el script para que funcione en una columna a la vez, lo que eliminó el segundo For Loop.
Names Default To Here( 1 );
dt = Current Data Table();
cd = Column Dialog( Myregcol_x = Collist( " Select columns >>", MinCol( 1 ) ), Hlist( "" ), );
regcol_x = cd["Myregcol_x"];
nitems = N Items( regcol_x );
colname_num = {};
For( p = 1, p <= nitems, p++,
colname_num = regcol_x[p] << Get Data Type;
If( colname_num == "Numeric",
valuess = Column( regcol_x[p] ) << get values;
valuess[Loc( Is Missing( valuess ) )] = Mean( valuess );
Column( regcol_x[p] ) << setvalues( valuess, cc[p] );
);
);