#repeat 12 ! ! Ascertainment correction, estimating pi ! G1: Model parameters Data Calc NGroups=3 Begin Matrices; H Full 1 1 Q Full 1 1 U unit 1 1 M Stan 2 2 Free L Stan 2 2 Free W Lower 1 1 O Zero 1 1 End Matrices; Matrix H .5 Matrix Q .25 Start .6 all Bound -.99 .99 M 2 1 L 2 1 Begin Algebra; ! A= X*X'; ! C= Y*Y'; ! E= Z*Z'; ! D= W*W'; ! L= A+C+D+E | H@A+C+Q@D _ ! H@A+C+Q@D | A+C+D+E ; ! DZ cov matrix ! M= A+C+D+E | A+C+D _ ! A+C+D | A+C+D+E ; ! MZ cov matrix End Algebra: End G2: MZ twin pairs Data Ninput=9 Labels studyid studyyr zygosity twin1 twin2 asc freq pihat threshold Ordinal File=scz_mx0075.dat Select if studyid = $repeat_number Select if zygosity = 1; Select twin1 twin2 asc freq pihat threshold ; Definition Asc Freq Pihat Threshold ; Begin Matrices= Group 1; F full 1 1 ! Frequency G full 1 4 ! to select ascertainment prob P Full 1 1 T Full 1 1 End Matrices; Begin Algebra; S= (P) _ (P) _ P+P-P*P ; ! Vector of ascertainment probabilities J= (P+P)*\mnor(U_O_T_T_U)-P*P*\mnor(M_O|O_T|T_T|T_U|U); End Algebra; Specify F Freq Specify P Pihat Specify T threshold Matrix G 1 1 1 1 Specify G asc 0 asc 0 Covariances M; Thresholds T|T ; Frequency F ; #if repeat_number < 4 ! pihat is not 1 so weight is needed Weight \part(S,G)%J ; #elseif repeat_number = 9 ! pihat is not 1 so weight is needed Weight \part(S,G)%J ; #elseif repeat_number = 7 ! population sample, so no weight required ! Weight \part(S,G)%J ; #elseif repeat_number = 10 ! population sample, so no weight required ! Weight \part(S,G)%J ; #else ! pihat is 1 but -- not sampled Weight \part(S,G)%J ; #endif Options RSidual End G3: DZ twin pairs Data Ninput=9 Labels studyid studyyr zygosity twin1 twin2 asc freq pihat threshold Ordinal File=scz_mx0075.dat Select if studyid = $repeat_number Select if zygosity = 2 Select twin1 twin2 asc freq pihat threshold ; Definition Asc Freq Pihat Threshold ; Begin Matrices= Group 1 ; F full 1 1 ! Frequency G full 1 4 =G2 ! To select ascertainment probability P Full 1 1 T Full 1 1 End Matrices; Specify F Freq Specify P Pihat Specify T threshold Matrix G 1 1 1 1 Specify G asc 0 asc 0 Begin Algebra; S= (P) _ (P) _ P+P-P*P ; ! Vector of ascertainment probabilities K= (P+P)*\mnor(U_O_T_T_U)-P*P*\mnor(L_O|O_T|T_T|T_U|U); End Algebra; Covariances L; Thresholds T|T ; Frequency F ; #if repeat_number < 4 ! pihat is not 1 so weight is needed Weight \part(S,G)%K ; #elseif repeat_number = 9 ! pihat is not 1 so weight is needed Weight \part(S,G)%K ; #elseif repeat_number = 10 ! population sample, so no weight required (could estimate threshold) ! Weight \part(S,G)%K ; #elseif repeat_number = 7 ! population sample, so no weight required (could estimate threshold) ! Weight \part(S,G)%K ; #else ! pihat is 1 but -- not sampled Weight \part(S,G)%K ; #endif ! Drop @0.9248 M 1 2 1 ! Drop @0.5216 L 1 2 1 Intervals M 1 2 1 L 1 2 1 Options RSidual NDecimals=4 End !Group 4: constrain variance to 1 ! Constraint NI=1 ! Begin Matrices = Group 1 ; ! I unit 1 1 ! End Matrices; ! Constraint I = A+C+E+D ; ! Option Multiple issat nag=10 db=1 !End #end repeat