範 例 五: 由不同來源親屬提供資訊建立選拔指數
 
 
程式檔名稱 : linEAR5.htm

參考文獻   : Van Vleck, L. D., E. J. Pollak., and E. A. B. Oltenacu. 1987. Genetics for the
             animal sciences. W. H. Freeman and company, New York, NY. pp. 278-283.


                               
OPTIONS LS=75 PS=60 NODATE;    不同來源親屬提供資訊建立選拔指數                      
                               建立對角線 資料來源                                         
DATA DIAG;                      ajj:同ㄧ群提供資料個體間的累加性親屬係數(如 女兒們)   
                                (如 ajj 為 女兒j 與 另一女兒j' 的的累加性親屬係數)   
INPUT  n   p  ajj;             n: 每隻動物的資料筆數                                 
h2=0.4;                        p: 同ㄧ群動物的隻數                                   
r=0.6;                         h2: 遺傳率  r:重複勢                                    
                               


di=(   ( ( 1+(n-1)*r) /n  )   + (p -1) * ajj * h2 ) / p;   


                                參考 Van Veleck et al., 1987 P279;                   
*INPUT n   p  ajj    rel $;     輸入 n p aij 資料;                                   
CARDS;
       2  1   1      本身
       1  1   1      父
       1  1   1      母
       3  40  0.25   後裔女兒(同父不同母)
;
PROC PRINT; RUN;         
 
                              
                               非對角線 資料來源的群組彼此間的累加性親屬係數         
DATA OD;                       G(i) : group of animal with information;              
INPUT G1 G2 G3 G4;             additive relationship between i animal and            
                               j animal both with records;                           
                               對角線資料由上方輸入,故放 0                          
                              

      * 本身 父    母    後裔女兒;
CARDS; 
        0     0.5   0.5   0.5
        0.5   0     0     0.25
        0.5   0     0     0.25
        0.5   0.25  0.25  0
;


PROC IML; START;


h2=0.4;
P={17852 18751 18000 20000};   PMEAN={14000 14000 14000 14000};
P=P-PMEAN;          
                              
                               P   :實測乳量與當時族群平均離均差                      
                               aij :估計指數的動物與提供資料的動物之間的累加性親屬係數 
                               aij :本例為 本身、父、母及後裔女兒(女兒由不同母親牛生)  
                               RHS :方程式組右手行的構建 aij*h2                        


aij={1,   0.5,   0.5,   0.5};       

RHS=aij*h2;


USE DIAG;
READ all      into DII; print DII;
di = DII (|,NCOL(DII) |);
DI = DIAG(di`);
PRINT di;                  
                               將資料讀入矩陣 DII(含 n  p  ajj  h2  r  di 共6行       
                               先將最後一行,新產生的元素存成 di 列                   
                               將 di 列轉換成只有對角元素的對腳矩陣 DI                
                               以下,再將非對腳元素讀入,存成 OD 矩陣                 
                               VP=OD +DI 即完成左邊方程式係數矩陣的構建               
                               解出指數的係數==> 左邊方程式係數逆矩陣*RHS             
                              
USE OD;
READ all      into OD;
OD=OD*h2;    PRINT OD;     
VP=OD+DI;    PRINT VP;     
b=INV(VP)*RHS;
PRINT b;

INDEX=P*b;                     *solution of b;
PRINT INDEX;                   *print output INDEX for selection;

r_IH= SQRT(b`*aij);PRINT r_IH; *print accuracy r_IH;

FINISH; RUN;