Hola,
Al analizar los datos de degradación mediante la plataforma de análisis de datos de degradación, quiero examinar varios modelos para seleccionar el mejor en función de AICc. Para ello, aplico manualmente las diferentes distribuciones y transformaciones para una definición de ruta determinada y genero informes para cada combinación haciendo clic en el botón "Generar informe". ¿Hay alguna forma de que JMP genere automáticamente informes para todas las combinaciones y los agregue a la lista de modelos? Una ventaja sería que JMP realice esto y al mismo tiempo excluya las transformaciones que se consideren inapropiadas o que generen valores faltantes (es decir, aplicar la transformación logarítmica al factor tiempo cuando contiene cero).
Versión 17.2 de JMP
Gracias de antemano.
/JF
Es posible que tengas que hacer esto mediante un script. A continuación se muestra una opción (no es un script muy sólido, pero puede dar algunas ideas sobre lo que se puede hacer)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/Adhesive Bond.jmp");
obj = dt << Destructive Degradation(
Y(:Strength),
Time(:Weeks),
X(:Degrees),
Censor(:Censor),
Censor Code("Right"),
Control("Log10", "Sqrt", "Normal", "Individual Path with Intercept")
);
rep = Report(obj);
cb = (rep << XPath("//PanelBox[text() = 'Distribution']/ComboBox"))[1];
rb_transformations = (rep << XPath("//PanelBox[text() = 'Transformation']//RadioBox"));
cb_options = cb << get items;
rb_tr = rb_transformations << get items;
btn = (rep << XPath("//ButtonBox[text() = 'Generate Report']"))[1];
tb1 = rep[TextBox(3)];
tb2 = rep[TextBox(4)];
For Each({option, idx}, cb_options,
cb << Set(idx);
For Each({op1, idx1}, rb_tr[1],
rb_transformations[1] << Set(idx1);
For Each({op2, idx2}, rb_tr[2],
rb_transformations[2] << Set(idx2);
visibilities = {tb1, tb2} << get visibility;
visibs = Loc(visibilities, "Visible");
If(N Items(visibs) == 0,
btn << Click(1);
,
skipped_txt = Eval insert("\[Skipped combination ^option^+^op1^+^op2^ due to ^Concat Items(({tb1, tb2} << get text)[Matrix(visibs)], ", ")^]\");
Write("\!N", skipped_txt);
);
wait(0);
);
);
);
Write();