Bonjour!
Ci-joint un script qui automatise les tests d'équivalence dans JMP sur l'exemple d'ensemble de données brutes automatiques (script et données jointes). Mon problème est la ligne 27 de mon script où je spécifie le type de variance dans la fonction de test d'équivalence. La fonction de test d'équivalence est :
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" )
)Cependant, tostv[i] n'est pas évalué correctement, il est ignoré et la variance groupée par défaut est utilisée. Je suppose que j'ai besoin d'un type de combinaison de fonctions d'évaluation, mais je n'arrive pas à le faire fonctionner. Voir les données et le script ci-joints. Merci pour toute aide !
Vous trouverez ci-dessous une version du script qui gérera correctement la liste tostv. Cependant, il y a un problème de logique avec votre variable « i ». Dans votre script, vous parcourez votre boucle For 4 fois, en incrémentant i d'un niveau à chaque fois, mais vous n'avez que 2 niveaux de votre liste tostv.
Voici le code
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 )} )
)
)
)
);
)
);Merci beaucoup Jim ! Et merci d'avoir repéré le problème de logique i - mon ensemble de données d'origine avait une liste tostv de 4 niveaux par opposition à 2 dans cet exemple.
J'apprécie grandement votre aide avec les fonctions d'évaluation !