Secuencia de comandos ejecutada secuencialmenteEstoy tratando de crear mis Estimaciones guardadas desde mi plataforma de supervivencia, luego tomo las estimaciones en la tabla recién creada. El problema es que no esperará hasta que se cree la tabla Survival antes de ejecutar la expresión de salida. He intentado terminar, esperar, diferentes órdenes, etc... y no puedo hacer que esto funcione, ¿alguna sugerencia? Tengo JMP 16.0 con MacBook.
Names Default To Here( 0 );
Clear Log();
dt = Current Data Table();
If( Not( Is Scriptable( dt ) ),
dtsel = Pick File( "Open File", {"JMP|jmp", "All files|*"} );
If( dtsel == "",
Stop(),
Try( dt = Open( dtsel ), Stop() )
);
);
Sur = Expr(
Obj = dt << Survival(
Failure Plot( 1 ),
Show Points( 1 ),
Show Shaded Simultaneous CI( 1 ),
Show Simultaneous CI( 1 ),
Weibull Fit( 1 )
//Save Estimates
);
dtname = Data Table( dt ) << Get Name;
Show( dtname );
obj << Save Estimates;
wait(1);
);
Eval( Survival );
Output = Expr(
dt2 = Data Table( dtname || " Survival");
columnnamegroup = Column( dt2, 1 ) << Get Name;
Groups = Column( dt2, columnnamegroup ) << Get As Matrix;
Show( Groups );
);
Eval(Output);AnalíticaMac OSsecuencias de comandosRe: Ejecución secuencial de secuencias de comandos¿Está recibiendo algún mensaje de error en el registro de JMP? En el ejemplo que dio, tenga el nombre Sur para la expresión y luego evalúe Supervivencia, no estoy seguro, ¿podría ser ese el problema? Debería dar como resultado un error como: Nombre no resuelto: Supervivencia en el acceso o evaluación de 'Supervivencia', Supervivencia/*###*/
Esto parece funcionar bien después de cambiar Eval (Survivor) -> Eval (Sur):
Names Default To Here(0);
dt = Open("$SAMPLE_DATA/Rats.jmp");
Sur = Expr(
obj = dt << Survival(Y(:days), Censor(:Censor), Grouping(:Group));
dtname = Data Table(dt) << Get Name;
obj << Save Estimates;
);
Eval(Sur);
Output = Expr(
dt2 = Data Table(dtname || " Survival");
columnnamegroup = Column(dt2, 1) << Get Name;
Groups = Column(dt2, columnnamegroup) << Get As Matrix;
Show(Groups);
);
Eval(Output);
En los casos bastante raros, JMP requiere agregar algún retraso, esperar (0) suele ser suficiente (y si tiene muchas fórmulas << ejecutar fórmulas podría ayudar).
Re: Ejecución secuencial de secuencias de comandosCreo que entiendo lo que está tratando de hacer: efectivamente, desea que la ventana de entrada para el Supervivencia() plataforma para ser Modal -- desea que bloquee la ejecución del script hasta que se cierre la ventana.Puede hacerlo definiendo explícitamente una ventana en lugar de confiar en el comportamiento predeterminado.Aquí he creado una ventana modal que contiene los campos de entrada, luego tomo cada entrada y creo el Supervivencia() expresión con las entradas correctas.
Names Default To Here( 1 );
dt = Current Data Table();
If( Not( Is Scriptable( dt ) ),
dtsel = Pick File( "Open File", {"JMP|jmp", "All files|*"} );
If( dtsel == "",
Stop(),
Try( dt = Open( dtsel ), Stop() )
);
);
dtname = Data Table( dt ) << Get Name;
validated = 0;
New Window( "Inputs",
<<MODAL></MODAL>