Hello, I make an multiple imputation from an uniform distribution. So, I create 5 dataset with each a different seed for the distribution uniforme to have different dataset. Then I concatenate the5 dataset in a single dataset "Mimpute". I realize a mixted model on this dataset. Then, I use PROC MIANALYZE to pooling results. But when I count how many I have p-value < 0.05, I obtain a number very small number, and this number does not match with the number for each imputation. I make that for 1000 simulations, so the variable simul indicated the simulation number. Here, my code : proc mixed data=Mimpute method=reml ; class prod (ref="Placebo") TV_VISIT_TMP(ref="V1") id_bis; model changeVn_V0 = prod TV_VISIT_TMP prod*TV_VISIT_TMP / s ddfm=kenwardroger; repeated TV_VISIT_TMP / subject=id_bis type=CS; lsmeans prod*TV_VISIT_TMP / slice=TV_VISIT_TMP cl; slice prod*TV_VISIT_TMP / sliceby(TV_VISIT_TMP="V1") cl pdiff=control("Placebo" "V1"); slice prod*TV_VISIT_TMP / sliceby(TV_VISIT_TMP="V2") cl pdiff=control("Placebo" "V2"); by simul _Imputation_; ods output SolutionF=mixparms ; ods output SliceDiffs=slicev1v2; run; proc mianalyze parms(classvar=full)=mixparms ; class prod TV_VISIT_TMP; modeleffects Intercept prod TV_VISIT_TMP prod*TV_VISIT_TMP ; by simul; ods output ParameterEstimates=param_simul; run; To count the number of global p-value of interaction <0.05, I do : data param_simul; set param_simul; where Parm="prod*TV_VISIT_TMP" AND prod="Actif" AND TV_VISIT_TMP="V2" ; run; proc sql; select count(simul) from param_simul where Probt < 0.05; quit; And I obtain 45/1000. But, in each imputation, I obtain numbers : 127/1000, 129/1000, 133/1000, 127/1000, 144/1000. For me, after PROC MIANALYZE, I should get a number arround 130/1000 because I combine the different imputations. Could you help me please ? I think that it's the statement 'by' of proc mianalyze which is the problem.... Thanks; Clemence
... View more