out_type <- knitr::opts_knit$get("rmarkdown.pandoc.to") r = getOption("repos") r["CRAN"] = "https://cran.rstudio.com/" #r["CRAN"] = "https://cloud.r-project.org/" #r["CRAN"] = "https://ftp.iitm.ac.in/cran/" options(repos = r)
switch(out_type, html = {cat("<p>1. Professor of the Academic Department of Statistics and Informatics of the Faculty of Economics and Planning.National University Agraria La Molina-PERU.</p> <p>2. Department of Mathematics and Statistics, University of Agriculture Faisalabad, Pakistan.</p>")}, latex = cat(" 1. Professor of the Academic Department of Statistics and Informatics of the Faculty of Economics and Planning.National University Agraria La Molina-PERU. 2. Department of Mathematics and Statistics, University of Agriculture Faisalabad, Pakistan. " ) )
knitr::opts_chunk$set( echo = TRUE , comment = "" , fig.cap = "" ) library(agricolae)
\begin{center} \vspace{6pt} \hrule \end{center}
In agricolae there are two methods for the study of stability and the AMMI model. These are: a parametric model for a simultaneous selection in yield and stability "SHUKLA'S STABILITY VARIANCE AND KANG'S", [@Kang:1993] and a non-parametric method of Haynes, based on the data range.
Use the parametric model, function stability.par
.
Prepare a data table where the rows and the columns are the genotypes and the environments, respectively. The data should correspond to yield averages or to another measured variable. Determine the variance of the common error for all the environments and the number of repetitions that was evaluated for every genotype. If the repetitions are different, find a harmonious average that will represent the set. Finally, assign a name to each row that will represent the genotype [@Kang:1993]. We will consider five environments in the following example:
options(digit=2) f <- system.file("external/dataStb.csv", package="agricolae") dataStb<-read.csv(f) stability.par(dataStb, rep=4, MSerror=1.8, alpha=0.1, main="Genotype",console=TRUE)
For 17 genotypes, the identification is made by letters. An error variance of 2 and 4 repetitions is assumed.
output <- stability.par(dataStb, rep=4, MSerror=2) names(output) print(output$stability)
The selected genotypes are: A, C, E, G, H, I, J and O. These genotypes have a higher yield and a lower variation. to see output$analysis, the interaction is significant.
If for example there is an environmental index, it can be added as a covariate In the first five locations. For this case, the altitude of the localities is included.
data5<-dataStb[,1:5] altitude<-c(1200, 1300, 800, 1600, 2400) stability <- stability.par(data5,rep=4,MSerror=2, cova=TRUE, name.cov= "altitude", file.cov=altitude)
For non-parametric stability, the function in agricolae is stability.nonpar()
.
The names of the genotypes should be included in the first column, and in the other columns, the response by environments [@HaynLambChriWeinDoucBackSecoFryStev:1998].
data <- data.frame(name=row.names(dataStb), dataStb) output<-stability.nonpar(data, "YIELD", ranking=TRUE) names(output) output$statistics
The model AMMI uses the biplot constructed through the principal components generated by the interaction environment-genotype. If there is such interaction, the percentage of the two principal components would explain more than the 50\% of the total variation; in such case, the biplot would be a good alternative to study the interaction environment-genotype [@Cros:1990].
The data for AMMI should come from similar experiments conducted in different environments. Homogeneity of variance of the experimental error, produced in the different environments, is required. The analysis is done by combining the experiments.
The data can be organized in columns, thus: environment, genotype, repetition, and variable.
The data can also be the averages of the genotypes in each environment, but it is necessary to consider a harmonious average for the repetitions and a common variance of the error. The data should be organized in columns: environment, genotype, and variable.
When performing AMMI, this generates the Biplot, Triplot and Influence graphics, see Figure \@ref(fig:f6).
For the application, we consider the data used in the example of parametric stability (study):
str(AMMI)
str(plot.AMMI)
data(plrv) model<-with(plrv,AMMI(Locality, Genotype, Rep, Yield, console=FALSE)) names(model) model$ANOVA model$analysis pc <- model$analysis[, 1] pc12<-sum(pc[1:2]) pc123<-sum(pc[1:3])
oldpar<-par(cex=0.4,mar=c(4,4,1,2)) plot(model,type=1,las=1,xlim=c(-5,6)) par(oldpar)
In this case, the interaction is significant. The first two components explain r pc12
\%; then the biplot can provide information about the interaction genotype-environment. With the triplot, r pc123
\% would be explained.
To triplot require klaR package. in R execute:
plot(model,type=2,las=1)
Calculate AMMI stability value (ASV) and Yield stability index (YSI) [@SabaDehg:2008; @Purc:1997].
data(plrv) model<- with(plrv,AMMI(Locality, Genotype, Rep, Yield, console=FALSE)) index<-index.AMMI(model) # Crops with improved stability according AMMI. print(index[order(index[,3]),]) # Crops with better response and improved stability according AMMI. print(index[order(index[,4]),])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.