Griffing
is used for performing Diallel Analysis using Griffing's Approach.
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.
Method-I (Parents + \(F_{1}\)'s + reciprocals);
Method-II (Parents and one set of \(F_{1}\)'s);
Method-III (One set of \(F_{1}\)'s and reciprocals);
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.
Fixed Effects Model;
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
References
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.
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