Mensajes JSL a Fit Group¿Qué tan difícil sería diseñar JSL para que los mensajes enviados a Fit Group se enviaran a TODAS las instancias de Fit Model dentro del grupo?
Por ejemplo, si utilizo Guardar secuencia de comandos en tabla de datos en un grupo de ajuste y luego quiero agregar un solo bloque de código para realizar el mismo análisis en todos los modelos de ajuste en ese grupo de ajuste, ¿puedo hacerlo? Sé que puedo buscar y reemplazar en las llamadas Fit Model e insertar una copia de mi código para cada modelo.
Esperemos que esto tenga sentido.
Re: Mensajes JSL a Fit GroupEsta es una gran noticia. Y JMP 15 está bien. JSL es lo suficientemente flexible en este caso para que pueda hacer el trabajo usando el código que ya proporcioné aquí. Solo requirió que invirtiera algo de tiempo para descubrir cómo hacer que esto funcionara. Será bueno obtener un enfoque más simple en 15.
Re: Mensajes JSL a Fit GroupGracias, Michael. Eso tiene sentido.
Grabé la solicitud e ingresé la identificación del defecto arriba.
también hablé con @john_sall quien dijo que entendía y pensó que podría acomodar algo como esto en JMP 15.
Re: Mensajes JSL a Fit Groupjeff,
Actualmente estoy tomando un enfoque creativo para esto. En el siguiente código, "script" y "multicomp" son expresiones que he definido anteriormente en el código. "script" es una llamada de Fit Group. "multicomp" es una expresión que indica Comparaciones Múltiples (...).
newscript = Expr(Fit Group());
For(i=1,i<=N Arg(script),i++,
// look for Fit Model calls
If( Char( Head( Arg(script,i) ) ) == "Fit Model()",
workingarg = Expr(Fit Model());
// add multicomp request to Run argument, pass all other arguments through
For(k=1,k<=N Arg(Arg(script,i)),k++,
workingarglevel2 = Arg( Arg(script,i), k );
If( Char( Head( workingarglevel2 ) ) == "Run",
Insert Into(workingarglevel2, Name Expr(multicomp));
);
Insert Into(workingarg, Name Expr(workingarglevel2));
);
// make assignment function to store each fit model into list
assignment = Expr(Assign());
Insert Into(assignment, Substitute(Expr(fm[__i__]), Expr(__i__), i));
Insert Into(assignment, Name Expr(workingarg));
Insert Into(newscript, Name Expr(assignment));
,
// if not Fit Model, we just pass the argument through to Fit Group
Insert Into(newscript, Arg(script,i))
);
);Sería mucho más fácil si pudiera simplemente hacer un script << Comparaciones Múltiples (...). Esto todavía deja el rompecabezas de cómo voy a definir mi lista "fm", a la que también se hace referencia en el código. Necesito esto para obtener los informes de cada ajuste en el Grupo Fit para poder extraer la información de Comparaciones Múltiples (...) pero eso es quizás un rompecabezas para otro día.
Si trato de transmitir un argumento a Fit Group que no se aplica a todos los miembros del grupo (por ejemplo, sé que no hay comparaciones múltiples (...) en el proceso gaussiano), ¿JMP puede simplemente descartar la solicitud donde no? no funciona? ¿Algo así como funciona Try(...)? Es casi como si hago Enviar (msg, fg) que todo lo que tenemos que hacer es iterar a través de cada elemento de "fg" y hacer Try (Send (msg, elementos [i]))?
Esperemos que esta aclaración tenga más sentido.
Miguel
Re: Mensajes JSL a Fit Group¿Puede proporcionar un ejemplo del "bloque único de código para hacer el mismo análisis"? ¿Quiere decir que quiere ajustar el mismo modelo a cada respuesta?
Un problema es que Fit Group() puede tener múltiples tipos de ajuste, no solo Fit Model. Por ejemplo:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = Fit Group(
Fit Model(
Y( :ABRASION ),
Effects(
:SILICA & RS,
:SILANE & RS,
:SULFUR & RS,
:SILICA * :SILICA,
:SILICA * :SILANE,
:SILANE * :SILANE,
:SILICA * :SULFUR,
:SILANE * :SULFUR,
:SULFUR * :SULFUR
),
Personality( Standard Least Squares ),
Emphasis( Minimal Report ),
Run()
),
Gaussian Process(
Y( :HARDNESS ),
X( :SILICA, :SILANE, :SULFUR ),
Set Correlation Function( "Cubic" )
)
);
Re: Mensajes JSL a Fit Group - Estado cambiado a: InvestigandoRe: Mensajes JSL al grupo Fit - Estado cambiado a: Reconocido