Crear una nueva columna con una fórmula guardada como variable en un scriptEstoy usando un script para extraer una fórmula predicha de unos datos que tengo. Luego modifico esa fórmula mediante sustitución y ahora quiero crear una nueva columna con la fórmula modificada. Creo que es fácil, pero al intentar ejecutarlo, la fórmula guardada como variable no se reconoce. Agradecería cualquier ayuda. Si necesita más información, no dude en contactarme.
//Script that just shows saving the formula as a variable fm and modifying the variable using substitute to fm2
fm = report(obj1)[OutlineBox("Polynomial ?")][TextEditBox(1)] << get text;
//get the string to the right of the equal sign and convert the string to an expression using Parse()
fm = Parse(Trim(word(2, fm, "=")));
fm2 = Substitute(NameExpr(fm), EvalExpr(LnTime2), EvalExpr(log(Time2)));
//Script to create a new column with the fm2 formula that does not work
dt << New Column( "Predicted", Numeric, Formula (fm2));
//Esto es lo que se devuelve en el registro cuando imprime fm2 en el script
Imprimir(fm2);
(-0,270568) + 0,0352458 * Log(Tiempo2) - 0,0331127 * (Log(Tiempo2) - 7,22484) ^ 2 + 0,0046766 * (Log(Tiempo2) - 7,22484) ^ 3 + 0,0075752 * (Log(Tiempo2) - 7,22484) ^ 4 + 0,0012501 * (Log(Tiempo2) - 7,22484) ^ 5 + 0,000026534 * (Log(Tiempo2) - 7,22484) ^ 6
Modelado estadístico avanzadoInvestigación de mercados y consumidoresOrganización del contenidoCombinación y limpieza de datosExploración y visualización de datosPersonalización masivaIngeniería de Calidad y ProcesosCompartir y comunicar resultadosRe: Crear nueva columna con fórmula guardada como variable en un scriptPrueba esto en su lugar:
Eval(
Substitute(
Expr( dt << New Column( "Predicted", Numeric, Formula ( fff ) ) ),
Expr( fff ), Name Expr( fm2 )
)
);
Re: Crear nueva columna con fórmula guardada como variable en un scriptMantendría la fórmula como una cadena, la sustituiría dentro de ella, agregaría un ":" para informarle a JMP que está tratando con una columna y luego usaría
evaluar(analizar())
para ejecutarlo.Aquí hay un ejemplo simple
names default to here(1);
dt=current data table();
fm="height";
fm2 = substitute(fm, expr("height"), "log(:height)");
eval(parse("dt << new column (\!"predicted\!",numeric,formula(" || fm2 || "));"));Re: Crear nueva columna con fórmula guardada como variable en un scriptGracias por la sugerencia de mantener la fórmula como una cadena y agregar ":" para que JMP sepa si es una columna. No pude hacer que eval(parse()) funcionara, no estaba seguro de por qué se necesitaban las comillas dobles en esto también.
Re: Crear nueva columna con fórmula guardada como variable en un script¡Gracias!