¿Cómo pasar variables al parámetro X en Fit Life by X?Hola a todos,
I need to dynamically pass variables to the X parameter in the fit life by x function. The first part of my code generates the analysis report as expected, but the second part only brings up the startup window without a report.
Así es como se ve mi código:
Names Default To Here(1);
dt = Open( "$sample_data/big class.jmp" );
x_var = "sex";
y_var = "weight";
obj1 = dt << Fit Life by X(
Distribution( Weibull ),
Nested Model Tests( Location and Scale ),
Y( Eval(y_var) ),
X( :sex ),
);
wait(2);
obj2 = dt << Fit Life by X(
Distribution( Weibull ),
Nested Model Tests( Location and Scale ),
Y( :weight ),
X( Eval(x_var) ),
);
¿Alguien ha encontrado este problema o sabe cómo pasar correctamente las variables al parámetro X?
¡Gracias!
Automatización y secuencias de comandosAnálisis de fiabilidadRe: ¿Cómo pasar variables al parámetro X en Fit Life by X?Por favor vea lo siguiente.
Debido a que falta "Relación", los códigos intentan hacer la mejor suposición basada en X. Pero en el lugar donde los códigos verifican X, X aún no es una columna válida, en este caso. Por lo tanto, al proporcionar información completa, los códigos no necesitan caer en la trampa.
Names Default To Here(1);
dt = Open( "$sample_data/big class.jmp" );
x_var = "sex";
y_var = "weight";
obj1 = dt << Fit Life by X(
Distribution( Weibull ),
Relationship( Location and Scale ),
Nested Model Tests( Location and Scale ),
Y( Eval(y_var) ),
X( :sex ),
);
wait(2);
obj2 = dt << Fit Life by X(
Distribution( Weibull ),
Relationship( Location and Scale ),
Nested Model Tests( Location and Scale ),
Y( :weight ),
X( Eval(x_var) ),
);
Re: ¿Cómo pasar variables al parámetro X en Fit Life by X?Esto parece requerir un poco más de trabajo para solucionarlo, ya que el forzado "normal" no funcionará.
Names Default To Here(1);
dt = Open("$sample_data/big class.jmp");
x_var = "sex";
y_var = "weight";
myexpr = EvalExpr(dt << Fit Life by X(
Distribution( Weibull ),
Nested Model Tests( Location and Scale ),
Y( :weight ),
X(Expr(NameExpr(AsColumn(dt, x_var)))),
));
show(myexpr);
obj = Eval(myexpr);
Uno de los casos extremadamente raros en los que diría que se use Eval(Parse()) (análisis malvado) pero esto parece funcionar
Names Default To Here(1);
dt = Open("$sample_data/big class.jmp");
x_var = "sex";
y_var = "weight";
obj2 = Eval(Parse(Eval Insert("\[dt << Fit Life by X(
Distribution(Weibull),
Nested Model Tests(Location and Scale),
Y(:weight),
X(:^x_var^)
)]\")));Re: ¿Cómo pasar variables al parámetro X en Fit Life by X?Esta anomalía parece ser un error. El argumento de las pruebas de modelos anidados no se reconoce en el segundo caso. Informe esto al soporte técnico de JMP ( support@jmp.com ) para que pueda ingresarse como un defecto y realizar un seguimiento.
Re: ¿Cómo pasar variables al parámetro X en Fit Life by X?Oh, esta es exactamente la respuesta correcta. ¡Muchas gracias!
Re: ¿Cómo pasar variables al parámetro X en Fit Life by X?Esta también es otra solución. ¡Gracias!