proc iml; x={1 1 0 1 0, 1 1 0 0 1, 1 0 1 0 1, 1 0 1 -1 -1, 1 -1 -1 1 0, 1 -1 -1 -1 -1}; l={0 0 0 1 0, 0 0 0 0 1}; sigmasq=.5; ma={-2, 0}; df1=2; df2=1; c=finv(.95,df1,df2); varbhat=l*inv(x`*x)*l`*sigmasq; lambda=ma`*inv(varbhat)*ma; power=sdf('F',c,df1,df2,lambda); print df1 df2 c lambda power; run; proc iml; x={1 1 0 0 0 0 1 0, 1 1 0 0 0 0 0 1, 1 0 1 0 0 0 0 1, 1 0 1 0 0 0 -1 -1, 1 0 0 1 0 0 1 0, 1 0 0 1 0 0 -1 -1, 1 0 0 0 1 0 1 0, 1 0 0 0 1 0 0 1, 1 0 0 0 0 1 0 1, 1 0 0 0 0 1 -1 -1, 1 -1 -1 -1 -1 -1 1 0, 1 -1 -1 -1 -1 -1 -1 -1}; l={0 0 0 0 0 0 1 0, 0 0 0 0 0 0 0 1}; sigmasq=.5; ma={-2, 0}; df1=2; df2=4; c=finv(.95,df1,df2); varbhat=l*inv(x`*x)*l`*sigmasq; lambda=ma`*inv(varbhat)*ma; power=sdf('F',c,df1,df2,lambda); print df1 df2 c lambda power;