Agregar columnas de fórmula según la lista de nombres de columnas¡Hola! Estoy intentando crear una secuencia de comandos que genere columnas de fórmula en función de si el nombre de una columna contiene la palabra clave correcta. Creo que estoy haciendo un mal uso de la forma en que las listas traducen cadenas a otras funciones. Actualmente usando JMP 17
Ptable = Current Data Table ();
col list = Ptable << Get Column Names(String);
if(debug == 1, Print(col list));
For(i=1, i<NCOLS></NCOLS>
<LINGO-LABS id="lingo-labs-724835" slang="en-US" mode="CREATE"><LINGO-LABEL>Automatización y secuencias de comandos</LINGO-LABEL></LINGO-LABS>Re: Agregar columnas de fórmula según la lista de nombres de columnasTienes que evaluar la columna correctamente allí. Expr(NameExpr(AsColumn())) es una opción
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
mycol1 = "height";
mycol2 = "weight";
Eval(EvalExpr(
new_col = dt << New Column("Col", numeric, continuous, formula(
Expr(NameExpr(AsColumn(dt, mycol1))) * Expr(NameExpr(AsColumn(dt, mycol2)))
))
));
show(new_col << get formula);
Inserte una expresión en otra usando Eval Insert, Eval Expr, Parse y Substitute
Re: Agregar columnas de fórmulas según la lista de nombres de columnas¡No importa! El problema era que mi array clist no extraía los nombres de las columnas en una lista.
@jthi ¿Nombrar una columna también requiere una Expression Eval? La página que compartiste mostraba que una Concat con Char(Array[#]) funcionaba correctamente, pero me da un error al intentar renombrar columnas (el código se muestra a continuación). No estoy agregando columnas, así que no entiendo por qué habría una discrepancia entre las N columnas y el contador en el bucle For.
clist = Ptable << Get Column Names( String );
num_col = N Cols(Ptable);
For(i=3, i < num_col, i++,
Column(i) << Set Name(Char(clist[i]) || " °C"); //Error on this line
);
"Rango de subíndices en el acceso o evaluación de 'clist[ /*###*/i]', clist[/*###*/i]"