Title: | Diallel Analysis with R |
---|---|
Description: | Performs Diallel Analysis with R using Griffing's and Hayman's approaches. Four different Methods (1: Method-I (Parents + F1's + reciprocals); 2: Method-II (Parents and one set of F1's); 3: Method-III (One set of F1's and reciprocals); 4: Method-IV (One set of F1's only)) and two Models (1: Fixed Effects Model; 2: Random Effects Model) can be applied using Griffing's approach. |
Authors: | Muhammad Yaseen [aut, cre, cph] , Kent Eskridge [ctb, aut], Pedro Barbosa [ctb, aut], Yuhang Guo [ctb, aut] |
Maintainer: | Muhammad Yaseen <[email protected]> |
License: | GPL-2 | GPL-3 |
Version: | 0.6.0 |
Built: | 2024-11-12 06:12:14 UTC |
Source: | https://github.com/myaseen208/diallelanalysisr |
Griffing
is used for performing Diallel Analysis using Griffing's Approach.
Griffing(y, Rep, Cross1, Cross2, data, Method, Model)
Griffing(y, Rep, Cross1, Cross2, data, Method, Model)
y |
Numeric Response Vector |
Rep |
Replicate as factor |
Cross1 |
Cross 1 as factor |
Cross2 |
Cross 2 as factor |
data |
A |
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.
|
Model |
Model for Diallel Analysis using Griffing's approach. It can take 1 or 2 as arguments depending on the model being used.
|
Diallel Analysis using Griffing's approach.
Means Means
ANOVA Analysis of Variance (ANOVA) table
Genetic.Components Genetic Components
Effects Effects of Crosses
StdErr Standard Errors of Crosses
Muhammad Yaseen ([email protected])
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.
Hayman
, GriffingData1
, GriffingData2
, GriffingData3
, GriffingData4
#------------------------------------------------------------- ## 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) Griffing1Data1 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) Griffing2Data1 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) Griffing1Data2 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) Griffing2Data2 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) Griffing1Data3 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) Griffing2Data3 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) Griffing1Data4 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) Griffing2Data4 Griffing2Data4Means <- Griffing2Data4$Means Griffing2Data4ANOVA <- Griffing2Data4$ANOVA Griffing2Data4Genetic.Components <- Griffing2Data4$Genetic.Components
#------------------------------------------------------------- ## 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) Griffing1Data1 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) Griffing2Data1 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) Griffing1Data2 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) Griffing2Data2 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) Griffing1Data3 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) Griffing2Data3 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) Griffing1Data4 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) Griffing2Data4 Griffing2Data4Means <- Griffing2Data4$Means Griffing2Data4ANOVA <- Griffing2Data4$ANOVA Griffing2Data4Genetic.Components <- Griffing2Data4$Genetic.Components
Griffing
is used for performing Diallel Analysis using Griffing's Approach.
data(GriffingData1)
data(GriffingData1)
A data.frame
with 256 rows and 4 variables.
Cross1 Cross 1
Cross2 Cross 2
Rep Replicate
Yield Yield Response
Muhammad Yaseen ([email protected])
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.
Griffing
, GriffingData2
, GriffingData3
, GriffingData4
data(GriffingData1)
data(GriffingData1)
Griffing
is used for performing Diallel Analysis using Griffing's Approach.
data(GriffingData2)
data(GriffingData2)
A data.frame
with 144 rows and 4 variables.
Cross1 Cross 1
Cross2 Cross 2
Rep Replicate
Yield Yield Response
Muhammad Yaseen ([email protected])
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.
Griffing
, GriffingData1
, GriffingData3
, GriffingData4
data(GriffingData2)
data(GriffingData2)
Griffing
is used for performing Diallel Analysis using Griffing's Approach.
data(GriffingData3)
data(GriffingData3)
A data.frame
with 224 rows and 4 variables.
Cross1 Cross 1
Cross2 Cross 2
Rep Replicate
Yield Yield Response
Muhammad Yaseen ([email protected])
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.
Griffing
, GriffingData1
, GriffingData2
, GriffingData4
data(GriffingData3)
data(GriffingData3)
Griffing
is used for performing Diallel Analysis using Griffing's Approach.
data(GriffingData4)
data(GriffingData4)
A data.frame
with 112 rows and 4 variables.
Cross1 Cross 1
Cross2 Cross 2
Rep Replicate
Yield Yield Response
Muhammad Yaseen ([email protected])
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.
Griffing
, GriffingData1
, GriffingData2
, GriffingData3
data(GriffingData4)
data(GriffingData4)
Hayman
is used for performing Diallel Analysis using Hayman's Approach.
Hayman(y, Rep, Cross1, Cross2, data)
Hayman(y, Rep, Cross1, Cross2, data)
y |
Numeric Response Vector |
Rep |
Replicate as factor |
Cross1 |
Cross 1 as factor |
Cross2 |
Cross 2 as factor |
data |
A |
Diallel Analysis using Haymans's approach.
Means Means
ANOVA Analysis of Variance (ANOVA) table
Genetic.Components Genetic Components
Effects Effects of Crosses
StdErr Standard Errors of Crosses
Muhammad Yaseen ([email protected])
Hayman, B. I. (1954 a) The Theory and Analysis of Diallel Crosses. Genetics, 39, 789–809.
Hayman, B. I. (1954 b) The Analysis of Variance of Diallel Tables. Biometrics, 10, 235–244.
Hayman, B. I. (1957) Interaction, Heterosis and Diallel Crosses. Genetics, 42, 336–355.
Singh, R. K. and Chaudhary, B. D. (2004) Biometrical Methods in Quantitative Genetic Analysis. New Delhi: Kalyani.
#------------------------------------------ ## Diallel Analysis with Haymans's Aproach #------------------------------------------ Hayman1Data <- Hayman( y = Yield , Rep = Rep , Cross1 = Cross1 , Cross2 = Cross2 , data = HaymanData ) Hayman1Data names(Hayman1Data) Hayman1DataMeans <- Hayman1Data$Means Hayman1DataANOVA <- Hayman1Data$ANOVA Hayman1DataWr.Vr.Table <- Hayman1Data$Wr.Vr.Table Hayman1DataComponents.of.Variation <- Hayman1Data$Components.of.Variation Hayman1DataOther.Parameters <- Hayman1Data$Other.Parameters Hayman1DataFr <- Hayman1Data$Fr #---------------- # Wr-Vr Graph #---------------- VOLO <- Hayman1Data$VOLO In.Value <- Hayman1Data$In.Value a <- Hayman1Data$a b <- Hayman1Data$b Wr.Vr <- Hayman1Data$Wr.Vr.Table library(ggplot2) ggplot(data=data.frame(x=c(0, max(In.Value, Wr.Vr$Vr, Wr.Vr$Wr, Wr.Vr$Wrei))), aes(x)) + stat_function(fun=function(x) {sqrt(x*VOLO)}, color="blue") + geom_hline(yintercept = 0) + geom_vline(xintercept = 0) + geom_abline(intercept = a, slope = b) + geom_abline(intercept = mean(Wr.Vr$Wr)-mean(Wr.Vr$Vr), slope = 1) + geom_segment(aes( x = mean(Wr.Vr$Vr) , y = min(0, mean(Wr.Vr$Wr)) , xend = mean(Wr.Vr$Vr) , yend = max(0, mean(Wr.Vr$Wr)) ) , color = "green" ) + geom_segment(aes( x = min(0, mean(Wr.Vr$Vr)) , y = mean(Wr.Vr$Wr) , xend = max(0, mean(Wr.Vr$Vr)) , yend = mean(Wr.Vr$Wr) ) , color = "green" ) + lims(x=c(min(0, Wr.Vr$Vr, Wr.Vr$Wrei), max(Wr.Vr$Vr, Wr.Vr$Wrei)), y=c(min(0, Wr.Vr$Wr, Wr.Vr$Wrei), max(Wr.Vr$Wr, Wr.Vr$Wri)) ) + labs( x = expression(V[r]) , y = expression(W[r]) , title = expression(paste(W[r]-V[r] , " Graph")) ) + theme_bw()
#------------------------------------------ ## Diallel Analysis with Haymans's Aproach #------------------------------------------ Hayman1Data <- Hayman( y = Yield , Rep = Rep , Cross1 = Cross1 , Cross2 = Cross2 , data = HaymanData ) Hayman1Data names(Hayman1Data) Hayman1DataMeans <- Hayman1Data$Means Hayman1DataANOVA <- Hayman1Data$ANOVA Hayman1DataWr.Vr.Table <- Hayman1Data$Wr.Vr.Table Hayman1DataComponents.of.Variation <- Hayman1Data$Components.of.Variation Hayman1DataOther.Parameters <- Hayman1Data$Other.Parameters Hayman1DataFr <- Hayman1Data$Fr #---------------- # Wr-Vr Graph #---------------- VOLO <- Hayman1Data$VOLO In.Value <- Hayman1Data$In.Value a <- Hayman1Data$a b <- Hayman1Data$b Wr.Vr <- Hayman1Data$Wr.Vr.Table library(ggplot2) ggplot(data=data.frame(x=c(0, max(In.Value, Wr.Vr$Vr, Wr.Vr$Wr, Wr.Vr$Wrei))), aes(x)) + stat_function(fun=function(x) {sqrt(x*VOLO)}, color="blue") + geom_hline(yintercept = 0) + geom_vline(xintercept = 0) + geom_abline(intercept = a, slope = b) + geom_abline(intercept = mean(Wr.Vr$Wr)-mean(Wr.Vr$Vr), slope = 1) + geom_segment(aes( x = mean(Wr.Vr$Vr) , y = min(0, mean(Wr.Vr$Wr)) , xend = mean(Wr.Vr$Vr) , yend = max(0, mean(Wr.Vr$Wr)) ) , color = "green" ) + geom_segment(aes( x = min(0, mean(Wr.Vr$Vr)) , y = mean(Wr.Vr$Wr) , xend = max(0, mean(Wr.Vr$Vr)) , yend = mean(Wr.Vr$Wr) ) , color = "green" ) + lims(x=c(min(0, Wr.Vr$Vr, Wr.Vr$Wrei), max(Wr.Vr$Vr, Wr.Vr$Wrei)), y=c(min(0, Wr.Vr$Wr, Wr.Vr$Wrei), max(Wr.Vr$Wr, Wr.Vr$Wri)) ) + labs( x = expression(V[r]) , y = expression(W[r]) , title = expression(paste(W[r]-V[r] , " Graph")) ) + theme_bw()
Griffing
is used for performing Diallel Analysis using Hayman's Approach.
data(HaymanData)
data(HaymanData)
A data.frame
with 256 rows and 4 variables.
Cross1 Cross 1
Cross2 Cross 2
Rep Replicate
Yield Yield Response
Muhammad Yaseen ([email protected])
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.
Test
data(HaymanData)
data(HaymanData)
Analysis of Partial Diallel
PartialDiallel(y, Rep, Cross1, Cross2, data)
PartialDiallel(y, Rep, Cross1, Cross2, data)
y |
Numeric Response Vector |
Rep |
Replicate as factor |
Cross1 |
Cross 1 as factor |
Cross2 |
Cross 2 as factor |
data |
A |
Means Means
ANOVA Analysis of Variance (ANOVA) table
Genetic.Components Genetic Components
General General
Specific Specific
Pedro A. M. Barbosa ([email protected])
Muhammad Yaseen ([email protected])
PartialDiallelData
, Griffing
, Hayman
, GriffingData1
, GriffingData2
, GriffingData3
, GriffingData4
data(PartialDiallelData) fm1 <- PartialDiallel( y = y , Rep = Rep , Cross1 = Cross1 , Cross2 = Cross2 , data = PartialDiallelData ) fm1
data(PartialDiallelData) fm1 <- PartialDiallel( y = y , Rep = Rep , Cross1 = Cross1 , Cross2 = Cross2 , data = PartialDiallelData ) fm1
Data for Partial Diallel Analysis
data(PartialDiallelData)
data(PartialDiallelData)
Cross1 Cross 1
Cross2 Cross 2
Rep Replicate
Yield Yield Response
PartialDiallel
, Griffing
, Hayman
, GriffingData1
, GriffingData2
, GriffingData3
, GriffingData4
data(PartialDiallelData)
data(PartialDiallelData)