Griffing is used for performing Diallel Analysis using Griffing's Approach.

Griffing(y, Rep, Cross1, Cross2, data, Method, Model)

Arguments

y

Numeric Response Vector

Rep

Replicate as factor

Cross1

Cross 1 as factor

Cross2

Cross 2 as factor

data

A data.frame

Method

Method for Diallel Analysis using Griffing's approach. It can take 1, 2, 3, or 4 as argument depending on the method being used.

  1. Method-I (Parents + \(F_{1}\)'s + reciprocals);

  2. Method-II (Parents and one set of \(F_{1}\)'s);

  3. Method-III (One set of \(F_{1}\)'s and reciprocals);

  4. Method-IV (One set of \(F_{1}\)'s only).

Model

Model for Diallel Analysis using Griffing's approach. It can take 1 or 2 as arguments depending on the model being used.

  1. Fixed Effects Model;

  2. Random Effects Model.

Value

Means Means

ANOVA Analysis of Variance (ANOVA) table

Genetic.Components Genetic Components

Effects Effects of Crosses

StdErr Standard Errors of Crosses

Details

Diallel Analysis using Griffing's approach.

References

  1. Griffing, B. (1956) Concept of General and Specific Combining Ability in relation to Diallel Crossing Systems. Australian Journal of Biological Sciences, 9(4), 463--493.

  2. Singh, R. K. and Chaudhary, B. D. (2004) Biometrical Methods in Quantitative Genetic Analysis. New Delhi: Kalyani.

Author

Muhammad Yaseen (myaseen208@gmail.com)

Examples

#-------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 1 & Model 1
#-------------------------------------------------------------
Griffing1Data1 <-
 Griffing(
     y      = Yield
   , Rep    = Rep
   , Cross1 = Cross1
   , Cross2 = Cross2
   , data   = GriffingData1
   , Method = 1
   , Model  = 1
 )
names(Griffing1Data1)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
#> [4] "Effects"            "StdErr"            
Griffing1Data1
#> $Means
#>         1       2       3       4        5       6        7       8
#> 1  85.645  87.010  90.455 114.945 120.2900  68.550 107.6425  52.640
#> 2  80.690  98.260 111.575  88.170  99.9300  73.265  97.6400  85.650
#> 3 102.230 104.555  74.070 100.645  94.2850 100.885 111.5400 117.735
#> 4 119.115  89.310 102.675  91.640  85.2850 105.795  64.4500  46.855
#> 5 111.290 102.890  88.265  83.390  54.1025  84.150  81.9350  94.820
#> 6  68.835  71.295  99.575 108.665  87.9650 100.390 121.6100  53.740
#> 7 109.265  87.820 108.445  57.650  78.7500 115.670  90.9600 125.270
#> 8  48.720  83.145 115.400  46.740  93.3200  60.240 118.1700  82.000
#> 
#> $ANOVA
#>              Df  Sum Sq Mean Sq F value Pr(>F)    
#> gca           7  3804.6  543.52 18.8868 <2e-16 ***
#> sca          28 22060.8  787.89 27.3783 <2e-16 ***
#> reciprocals  28   365.5   13.05  0.4536 0.9923    
#> Error       189  5439.0   28.78                   
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>              Components
#> gca         32.17141650
#> sca        759.10757646
#> Reciprocal  -7.86141946
#> gca/sca      0.04238058
#> 
#> $Effects
#>           1          2         3          4          5           6          7
#> 1  0.061875 -7.4284375 -3.494687 29.6575000 27.3050000 -20.1831250  10.405781
#> 2  3.160000  0.4679688  7.821719  0.9614062 12.5189063 -17.0017188  -5.724063
#> 3 -5.887500  3.5100000  9.026719  5.3226562 -6.1748438   2.3895312   2.979687
#> 4 -2.085000 -0.5700000 -1.015000 -3.4379687 -0.6476562  21.8542187 -33.498125
#> 5  4.500000 -1.4800000  3.010000  0.9475000 -2.3254687  -0.4307813 -15.318125
#> 6 -0.142500  0.9850000  0.655000 -1.4350000 -1.9075000  -1.9348437  22.588750
#> 7 -0.811250  4.9100000  1.547500  3.4000000  1.5925000   2.9700000   7.237500
#> 8  1.960000  1.2525000  1.167500  0.0575000  0.7500000  -3.2500000   3.550000
#>            8
#> 1 -31.034687
#> 2   2.276719
#> 3  25.887969
#> 4 -31.417344
#> 5  14.742656
#> 6 -22.727969
#> 7  32.829688
#> 8  -9.095781
#> 
#> $StdErr
#>  [1]  2.173069  8.130878  5.807770  6.570742  3.285371 11.380858 10.896342
#>  [8]  9.856113  8.692274  8.047482  9.292432
#> 
Griffing1Data1Means <- Griffing1Data1$Means
Griffing1Data1ANOVA <- Griffing1Data1$ANOVA
Griffing1Data1Genetic.Components <- Griffing1Data1$Genetic.Components
Griffing1Data1Effects <- Griffing1Data1$Effects
Griffing1Data1StdErr <- as.matrix(Griffing1Data1$StdErr)


#--------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 1 & Model 2
#--------------------------------------------------------------
Griffing2Data1 <-
 Griffing(
     y      = Yield
   , Rep    = Rep
   , Cross1 = Cross1
   , Cross2 = Cross2
   , data   = GriffingData1
   , Method = 1
   , Model  = 2
 )
names(Griffing2Data1)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
Griffing2Data1
#> $Means
#>         1       2       3       4        5       6        7       8
#> 1  85.645  87.010  90.455 114.945 120.2900  68.550 107.6425  52.640
#> 2  80.690  98.260 111.575  88.170  99.9300  73.265  97.6400  85.650
#> 3 102.230 104.555  74.070 100.645  94.2850 100.885 111.5400 117.735
#> 4 119.115  89.310 102.675  91.640  85.2850 105.795  64.4500  46.855
#> 5 111.290 102.890  88.265  83.390  54.1025  84.150  81.9350  94.820
#> 6  68.835  71.295  99.575 108.665  87.9650 100.390 121.6100  53.740
#> 7 109.265  87.820 108.445  57.650  78.7500 115.670  90.9600 125.270
#> 8  48.720  83.145 115.400  46.740  93.3200  60.240 118.1700  82.000
#> 
#> $ANOVA
#>              Df  Sum Sq Mean Sq F value Pr(>F)    
#> gca           7  3804.6  543.52  0.6898 0.6798    
#> sca          28 22060.8  787.89 27.3783 <2e-16 ***
#> reciprocals  28   365.5   13.05  0.4536 0.9797    
#> Error       189  5439.0   28.78                   
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>             Components
#> gca        -14.4404522
#> sca        426.1656570
#> Reciprocal  -7.8614195
#> Error       28.7777288
#> Additive   -28.8809045
#> Dominant   426.1656570
#> gca/sca     -0.0338846
#> 
Griffing2Data1Means <- Griffing2Data1$Means
Griffing2Data1ANOVA <- Griffing2Data1$ANOVA
Griffing2Data1Genetic.Components <- Griffing2Data1$Genetic.Components


#--------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 2 & Model 1
#--------------------------------------------------------------
Griffing1Data2 <-
 Griffing(
     y      = Yield
   , Rep    = Rep
   , Cross1 = Cross1
   , Cross2 = Cross2
   , data   = GriffingData2
   , Method = 2
   , Model  = 1
 )
names(Griffing1Data2)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
#> [4] "Effects"            "StdErr"            
Griffing1Data2
#> $Means
#>        1     2       3       4        5       6        7       8
#> 1 85.645 87.01  90.455 114.945 120.2900  68.550 107.6425  52.640
#> 2     NA 98.26 111.575  88.170  99.9300  73.265  97.6400  85.650
#> 3     NA    NA  74.070 100.645  94.2850 100.885 111.5400 117.735
#> 4     NA    NA      NA  91.640  85.2850 105.795  64.4500  46.855
#> 5     NA    NA      NA      NA  54.1025  84.150  81.9350  94.820
#> 6     NA    NA      NA      NA       NA 100.390 121.6100  53.740
#> 7     NA    NA      NA      NA       NA      NA  90.9600 125.270
#> 8     NA    NA      NA      NA       NA      NA       NA  82.000
#> 
#> $ANOVA
#>        Df  Sum Sq Mean Sq F value    Pr(>F)    
#> gca     7  1850.9  264.41  9.4698 4.546e-09 ***
#> sca    28 12529.1  447.47 16.0259 < 2.2e-16 ***
#> Error 105  2931.8   27.92                      
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>           Components
#> gca      23.64917067
#> sca     419.54647702
#> gca/sca   0.05636842
#> 
#> $Effects
#>         1         2         3         4         5          6          7
#> 1 -0.3135 -5.718694 -5.823694 27.249806 34.647306 -21.080194   9.689056
#> 2      NA  2.380250 12.602556 -2.218944 11.593556 -19.058944  -3.007194
#> 3      NA        NA  5.930250  6.706056  2.398556   5.011056   7.342806
#> 4      NA        NA        NA -2.653250  1.982056  18.504556 -31.163694
#> 5      NA        NA        NA        NA -4.705750  -1.087944 -11.626194
#> 6      NA        NA        NA        NA        NA  -0.718250  24.061306
#> 7      NA        NA        NA        NA        NA         NA   7.605000
#> 8      NA        NA        NA        NA        NA         NA         NA
#>             8
#> 1 -30.1836944
#> 2   0.1325556
#> 3  28.6675556
#> 4 -33.6289444
#> 5  16.3885556
#> 6 -28.6789444
#> 7  34.5278056
#> 8  -7.5247500
#> 
#> $StdErr
#> [1]  2.386553  7.315797  6.364141  3.608129  8.838075 10.824387 10.205330
#> 
Griffing1Data2Means <- Griffing1Data2$Means
Griffing1Data2ANOVA <- Griffing1Data2$ANOVA
Griffing1Data2Genetic.Components <- Griffing1Data2$Genetic.Components
Griffing1Data2Effects <- Griffing1Data2$Effects
Griffing1Data2StdErr <- as.matrix(Griffing1Data2$StdErr)


#--------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 2 & Model 2
#--------------------------------------------------------------
Griffing2Data2 <-
 Griffing(
     y      = Yield
   , Rep    = Rep
   , Cross1 = Cross1
   , Cross2 = Cross2
   , data   = GriffingData2
   , Method = 2
   , Model  = 2
 )
names(Griffing2Data2)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
Griffing2Data2
#> $Means
#>        1     2       3       4        5       6        7       8
#> 1 85.645 87.01  90.455 114.945 120.2900  68.550 107.6425  52.640
#> 2     NA 98.26 111.575  88.170  99.9300  73.265  97.6400  85.650
#> 3     NA    NA  74.070 100.645  94.2850 100.885 111.5400 117.735
#> 4     NA    NA      NA  91.640  85.2850 105.795  64.4500  46.855
#> 5     NA    NA      NA      NA  54.1025  84.150  81.9350  94.820
#> 6     NA    NA      NA      NA       NA 100.390 121.6100  53.740
#> 7     NA    NA      NA      NA       NA      NA  90.9600 125.270
#> 8     NA    NA      NA      NA       NA      NA       NA  82.000
#> 
#> $ANOVA
#>        Df  Sum Sq Mean Sq F value Pr(>F)    
#> gca     7  1850.9  264.41  0.5909 0.7577    
#> sca    28 12529.1  447.47 16.0259 <2e-16 ***
#> Error 105  2931.8   27.92                   
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>             Components
#> gca       -18.30547704
#> sca       419.54647702
#> Error      27.92161709
#> Additive  -36.61095407
#> Dominance 419.54647702
#> gca/sca    -0.04363158
#> 
Griffing2Data2Means <- Griffing2Data2$Means
Griffing2Data2ANOVA <- Griffing2Data2$ANOVA
Griffing2Data2Genetic.Components <- Griffing2Data2$Genetic.Components


#--------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 3 & Model 1
#--------------------------------------------------------------
Griffing1Data3 <-
 Griffing(
     y      = Yield
   , Rep    = Rep
   , Cross1 = Cross1
   , Cross2 = Cross2
   , data   = GriffingData3
   , Method = 3
   , Model  = 1
 )
names(Griffing1Data3)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
#> [4] "Effects"            "StdErr"            
Griffing1Data3
#> $Means
#>         1       2       3       4       5       6        7       8
#> 1      NA  87.010  90.455 114.945 120.290  68.550 107.6425  52.640
#> 2  80.690      NA 111.575  88.170  99.930  73.265  97.6400  85.650
#> 3 102.230 104.555      NA 100.645  94.285 100.885 111.5400 117.735
#> 4 119.115  89.310 102.675      NA  85.285 105.795  64.4500  46.855
#> 5 111.290 102.890  88.265  83.390      NA  84.150  81.9350  94.820
#> 6  68.835  71.295  99.575 108.665  87.965      NA 121.6100  53.740
#> 7 109.265  87.820 108.445  57.650  78.750 115.670       NA 125.270
#> 8  48.720  83.145 115.400  46.740  93.320  60.240 118.1700      NA
#> 
#> $ANOVA
#>              Df  Sum Sq Mean Sq F value Pr(>F)    
#> gca           7  5612.4  801.78 26.4344 <2e-16 ***
#> sca          20 18336.3  916.82 30.2273 <2e-16 ***
#> reciprocals  28   365.5   13.05  0.4304 0.9948    
#> Error       165  5004.6   30.33                   
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>             Components
#> gca         64.2871004
#> sca        443.2433587
#> Reciprocal  -8.6379207
#> gca/sca      0.1450379
#> 
#> $Effects
#>             1         2         3         4          5          6          7
#> 1 -0.08609375 -6.038958 -8.989792 31.245625  22.266042 -17.637708   8.322083
#> 2  3.16000000 -1.647135  4.293750  4.516667   9.447083 -12.489167  -5.840625
#> 3 -5.88750000  3.510000 13.796198  1.993333 -16.131250   0.017500  -4.021458
#> 4 -2.08500000 -0.570000 -1.015000 -5.751719  -3.520833  26.565417 -33.416042
#> 5  4.50000000 -1.480000  3.010000  0.947500   1.987865  -2.346667 -21.863125
#> 6 -0.14250000  0.985000  0.655000 -1.435000  -1.907500  -5.205885  23.628125
#> 7 -0.81125000  4.910000  1.547500  3.400000   1.592500   2.970000   8.595573
#> 8  1.96000000  1.252500  1.167500  0.057500   0.750000  -3.250000   3.550000
#>           8
#> 1 -29.16729
#> 2   6.11125
#> 3  22.83792
#> 4 -27.38417
#> 5  12.14875
#> 6 -17.73750
#> 7  33.19104
#> 8 -11.68880
#> 
#> $StdErr
#> [1] 2.347428 5.195172 6.147010 3.548978 7.935756 7.097956
#> 
Griffing1Data3Means <- Griffing1Data3$Means
Griffing1Data3ANOVA <- Griffing1Data3$ANOVA
Griffing1Data3Genetic.Components <- Griffing1Data3$Genetic.Components
Griffing1Data3Effects <- Griffing1Data3$Effects
Griffing1Data3StdErr <- as.matrix(Griffing1Data3$StdErr)


#--------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 3 & Model 2
#--------------------------------------------------------------
Griffing2Data3 <-
 Griffing(
     y       = Yield
   , Rep     = Rep
   , Cross1  = Cross1
   , Cross2  = Cross2
   , data    = GriffingData3
   , Method  = 3
   , Model   = 2
 )
names(Griffing2Data3)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
Griffing2Data3
#> $Means
#>         1       2       3       4       5       6        7       8
#> 1      NA  87.010  90.455 114.945 120.290  68.550 107.6425  52.640
#> 2  80.690      NA 111.575  88.170  99.930  73.265  97.6400  85.650
#> 3 102.230 104.555      NA 100.645  94.285 100.885 111.5400 117.735
#> 4 119.115  89.310 102.675      NA  85.285 105.795  64.4500  46.855
#> 5 111.290 102.890  88.265  83.390      NA  84.150  81.9350  94.820
#> 6  68.835  71.295  99.575 108.665  87.965      NA 121.6100  53.740
#> 7 109.265  87.820 108.445  57.650  78.750 115.670       NA 125.270
#> 8  48.720  83.145 115.400  46.740  93.320  60.240 118.1700      NA
#> 
#> $ANOVA
#>              Df  Sum Sq Mean Sq F value Pr(>F)    
#> gca           7  5612.4  801.78  0.8745 0.5431    
#> sca          20 18336.3  916.82 30.2273 <2e-16 ***
#> reciprocals  28   365.5   13.05  0.4304 0.9801    
#> Error       165  5004.6   30.33                   
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>              Components
#> gca         -9.58679273
#> sca        443.24335872
#> Reciprocal  -8.63792065
#> Error       30.33073115
#> Additive   -19.17358546
#> Dominant   443.24335872
#> gca/sca     -0.02162873
#> 
Griffing2Data3Means <- Griffing2Data3$Means
Griffing2Data3ANOVA <- Griffing2Data3$ANOVA
Griffing2Data3Genetic.Components <- Griffing2Data3$Genetic.Components


#--------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 4 & Model 1
#--------------------------------------------------------------
Griffing1Data4 <-
 Griffing(
     y       = Yield
   , Rep     = Rep
   , Cross1  = Cross1
   , Cross2  = Cross2
   , data    = GriffingData4
   , Method  = 4
   , Model   = 1
 )
names(Griffing1Data4)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
#> [4] "Effects"            "StdErr"            
Griffing1Data4
#> $Means
#>       2       3       4       5       6        7       8
#> 1 87.01  90.455 114.945 120.290  68.550 107.6425  52.640
#> 2    NA 111.575  88.170  99.930  73.265  97.6400  85.650
#> 3    NA      NA 100.645  94.285 100.885 111.5400 117.735
#> 4    NA      NA      NA  85.285 105.795  64.4500  46.855
#> 5    NA      NA      NA      NA  84.150  81.9350  94.820
#> 6    NA      NA      NA      NA      NA 121.6100  53.740
#> 7    NA      NA      NA      NA      NA       NA 125.270
#> 
#> $ANOVA
#>       Df Sum Sq Mean Sq F value    Pr(>F)    
#> gca    7 3126.9  446.70  14.323 5.667e-12 ***
#> sca   20 9304.6  465.23  14.917 < 2.2e-16 ***
#> Error 81 2526.2   31.19                      
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>         Components
#> gca      69.251646
#> sca     434.040776
#> gca/sca   0.159551
#> 
#> $Effects
#>            [,1]       [,2]       [,3]      [,4]       [,5]       [,6]
#> [1,] -0.8596875 -3.9395833 -14.474583 30.177917  26.431250 -16.525417
#> [2,]         NA -0.5751042   6.360833  3.118333   5.786667 -12.095000
#> [3,]         NA         NA  13.404896  1.613333 -13.838333   1.545000
#> [4,]         NA         NA         NA -6.757604  -2.675833  26.617500
#> [5,]         NA         NA         NA        NA   2.334063  -4.119167
#> [6,]         NA         NA         NA        NA         NA  -6.449271
#> [7,]         NA         NA         NA        NA         NA         NA
#> [8,]         NA         NA         NA        NA         NA         NA
#>            [,7]       [,8]
#> [1,]   5.551667 -27.221250
#> [2,]  -4.735417   5.504167
#> [3,]  -4.815417  23.609167
#> [4,] -31.742917 -27.108333
#> [5,] -23.349583  11.765000
#> [6,]  25.108750 -20.531667
#> [7,]  10.566146  33.982917
#> [8,]         NA -11.663437
#> 
#> $StdErr
#> [1] 2.553607 5.651474 4.179321 3.860692 8.632769 7.721383
#> 
Griffing1Data4Means <- Griffing1Data4$Means
Griffing1Data4ANOVA <- Griffing1Data4$ANOVA
Griffing1Data4Genetic.Components <- Griffing1Data4$Genetic.Components
Griffing1Data4Effects <- Griffing1Data4$Effects
Griffing1Data4StdErr <- as.matrix(Griffing1Data4$StdErr)


#--------------------------------------------------------------
## Diallel Analysis with Griffing's Aproach Method 4 & Model 2
#--------------------------------------------------------------
Griffing2Data4 <-
 Griffing(
     y       = Yield
   , Rep     = Rep
   , Cross1  = Cross1
   , Cross2  = Cross2
   , data    = GriffingData4
   , Method  = 4
   , Model   = 2
 )
names(Griffing2Data4)
#> [1] "Means"              "ANOVA"              "Genetic.Components"
Griffing2Data4
#> $Means
#>       2       3       4       5       6        7       8
#> 1 87.01  90.455 114.945 120.290  68.550 107.6425  52.640
#> 2    NA 111.575  88.170  99.930  73.265  97.6400  85.650
#> 3    NA      NA 100.645  94.285 100.885 111.5400 117.735
#> 4    NA      NA      NA  85.285 105.795  64.4500  46.855
#> 5    NA      NA      NA      NA  84.150  81.9350  94.820
#> 6    NA      NA      NA      NA      NA 121.6100  53.740
#> 7    NA      NA      NA      NA      NA       NA 125.270
#> 
#> $ANOVA
#>       Df Sum Sq Mean Sq F value Pr(>F)    
#> gca    7 3126.9  446.70  0.9602 0.4853    
#> sca   20 9304.6  465.23 14.9173 <2e-16 ***
#> Error 81 2526.2   31.19                   
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> $Genetic.Components
#>             Components
#> gca       -3.088483348
#> sca      434.040775861
#> Error     31.187045285
#> Additive  -6.176966696
#> Dominant 434.040775861
#> gca/sca   -0.007115653
#> 
Griffing2Data4Means <- Griffing2Data4$Means
Griffing2Data4ANOVA <- Griffing2Data4$ANOVA
Griffing2Data4Genetic.Components <- Griffing2Data4$Genetic.Components