¡Hola!
Se adjunta un script que automatiza las pruebas de equivalencia en JMP en el conjunto de datos sin procesar automáticos de ejemplo (tanto el script como los datos se adjuntan). Mi problema es la línea 27 de mi script, donde estoy especificando el tipo de varianza en la función de prueba de equivalencia. La función de prueba de equivalencia es:
tostv = {"Pooled Variance", "Unequal Variances"};<BR />ksd = {12,275};<BR /><BR />Equivalence Tests(
ksd[i],
0.05,
tostv[i], // ***need to fix
"Equivalence",
With Control( "Young" )
)Sin embargo, tostv[i] no se evalúa correctamente, se ignora y se utiliza la varianza agrupada predeterminada. Supongo que necesito algún tipo de combinación de funciones de evaluación, pero no puedo lograr que funcione. Vea los datos y el script adjuntos. ¡Gracias por cualquier ayuda!
A continuación se muestra una versión del script que manejará correctamente la lista tostv. Sin embargo, hay un problema de lógica con la variable "i". En el script, se está repitiendo el bucle For 4 veces, incrementando i en uno cada vez, sin embargo, solo hay 2 niveles de la lista tostv.
Aquí está el código
Names Default To Here( 1 );
tostv = {"Pooled Variance", "Unequal Variances"};
ksd = {12, 275};
dt = Current Data Table();
cnames = dt << Get Column Names( string );
n = N Items( cnames );
i = 0;
anova = Fit Group(
For( colnum = 4, colnum <= n, colnum++,
i = i + 1;
Eval(
Eval Expr(
Oneway(
Y( Column( colnum ) ),
X( :AgeClass ),
All Pairs( 1 ),
Means( 1 ),
t Test( 1 ),
Unequal Variances( 1 ),
Std Dev Lines( 0 ),
Mean Diamonds( 1 ),
Connect Means( 1 ),
Equivalence Tests(
ksd[i],
0.05,
Expr( tostv[i] ), //***need to fix to eval tostv
"Equivalence",
With Control( "Young" )
),
SendToReport(
Dispatch( {}, "1", ScaleBox, {Minor Ticks( 0 )} ),
Dispatch( {}, "Oneway Plot", FrameBox, ),
Dispatch( {}, "Oneway Means Compare", FrameBox, ),
Dispatch( {"Oneway Anova"}, "Summary of Fit", OutlineBox, {Close( 1 )} ),
Dispatch( {"Oneway Anova"}, "Analysis of Variance", OutlineBox, {Close( 1 )} ),
Dispatch( {"Oneway Anova"}, "Means for Oneway Anova", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "t Test", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Means Comparisons", OutlineBox, {Close( 1 )} )
)
)
)
);
)
);¡Muchas gracias, Jim! Y gracias por detectar el problema de lógica i: mi conjunto de datos original tenía una lista tostv de 4 niveles opuestos a los 2 de este ejemplo.
¡Agradezco mucho tu ayuda con las funciones de evaluación!