Package 'bayesammi'

Title: Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model
Description: Performs Bayesian estimation of the additive main effects and multiplicative interaction (AMMI) model. The method is explained in Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G. and Cornelius, P.L. (2011) (<doi:10.2135/cropsci2010.06.0343>).
Authors: Muhammad Yaseen [aut, cre], Jose Crossa [aut, ctb], Sergio Perez-Elizalde [aut, ctb], Diego Jarquin [aut, ctb], Jose Miguel Cotes [aut, ctb], Kert Viele [aut, ctb], Genzhou Liu [aut, ctb], Paul L. Cornelius [aut, ctb], Julian Garcia Abadillo Velasco [aut, ctb]
Maintainer: Muhammad Yaseen <[email protected]>
License: GPL-2
Version: 0.3.0
Built: 2024-11-23 17:26:38 UTC
Source: CRAN

Help Index


Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model

Description

Performs Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model

Usage

## Default S3 method:
bayes_ammi(.data, .y, .gen, .env, .rep, .nIter)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

.rep

Replication Factor

.nIter

Number of Iterations

Value

Genotype by Environment Interaction Model

Author(s)

  1. Muhammad Yaseen ([email protected])

  2. Jose Crossa ([email protected])

  3. Sergio Perez-Elizalde ([email protected])

  4. Diego Jarquin ([email protected])

  5. Jose Miguel Cotes

  6. Kert Viele

  7. Genzhou Liu

  8. Paul L. Cornelius

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)

fm1 <-
 bayes_ammi(
     .data  = Maiz
   , .y     = y
   , .gen   = entry
   , .env   = site
   , .rep   = rep
   , .nIter = 20
  )
names(fm1)
fm1$mu1
fm1$tau1
fm1$tao1
fm1$delta1
fm1$lambdas1
fm1$alphas1
fm1$gammas1

library(ggplot2)

Plot1Mu <-
  ggplot(data = fm1$mu1, mapping = aes(x = 1:nrow(fm1$mu1), y = mu)) +
  geom_line(color = "blue") +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = expression(mu), x = "Iterations") +
  theme_bw()
print(Plot1Mu)

Plot2Mu <-
  ggplot(data = fm1$mu1, mapping = aes(mu)) +
  geom_histogram() +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = "Frequency", x = expression(mu)) +
  theme_bw()
print(Plot2Mu)


Plot1Sigma2 <-
  ggplot(data = fm1$tau1, mapping = aes(x = 1:nrow(fm1$tau1), y = tau)) +
  geom_line(color = "blue") +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = expression(sigma^2), x = "Iterations") +
  theme_bw()
print(Plot1Sigma2)


Plot2Sigma2 <-
  ggplot(data = fm1$tau1, mapping = aes(tau)) +
  geom_histogram() +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = "Frequency", x = expression(sigma^2)) +
  theme_bw()
print(Plot2Sigma2)


# Plot of Alphas
Plot1Alpha1 <-
  ggplot(data = fm1$tao1, mapping = aes(x = 1:nrow(fm1$tao1), y = tao1)) +
  geom_line(color = "blue") +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = expression(alpha[1]), x = "Iterations") +
  theme_bw()
print(Plot1Alpha1)

Plot2Alpha1 <-
  ggplot(data = fm1$tao1, mapping = aes(tao1)) +
  geom_histogram() +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = "Frequency", x = expression(alpha[1])) +
  theme_bw()
print(Plot2Alpha1)

Plot1Alpha2 <-
  ggplot(data = fm1$tao1, mapping = aes(x = 1:nrow(fm1$tao1), y = tao2)) +
  geom_line(color = "blue") +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = expression(alpha[2]), x = "Iterations") +
  theme_bw()
print(Plot1Alpha2)

Plot2Alpha2 <-
  ggplot(data = fm1$tao1, mapping = aes(tao2)) +
  geom_histogram() +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = "Frequency", x = expression(alpha[2])) +
  theme_bw()
print(Plot2Alpha2)

# Plot of Betas
Plot1Beta1 <-
  ggplot(data = fm1$delta1, mapping = aes(x = 1:nrow(fm1$delta1), y = delta1)) +
  geom_line(color = "blue") +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = expression(beta[1]), x = "Iterations") +
  theme_bw()
print(Plot1Beta1)

Plot2Beta1 <-
  ggplot(data = fm1$delta1, mapping = aes(delta1)) +
  geom_histogram() +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = "Frequency", x = expression(beta[1])) +
  theme_bw()
print(Plot2Beta1)


Plot1Beta2 <-
  ggplot(data = fm1$delta1, mapping = aes(x = 1:nrow(fm1$delta1), y = delta2)) +
  geom_line(color = "blue") +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = expression(beta[2]), x = "Iterations") +
  theme_bw()
print(Plot1Beta2)

Plot2Beta2 <-
  ggplot(data = fm1$delta1, mapping = aes(delta2)) +
  geom_histogram() +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = "Frequency", x = expression(beta[2])) +
  theme_bw()
print(Plot2Beta2)


Plot1Beta3 <-
  ggplot(data = fm1$delta1, mapping = aes(x = 1:nrow(fm1$delta1), y = delta3)) +
  geom_line(color = "blue") +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = expression(beta[3]), x = "Iterations") +
  theme_bw()
print(Plot1Beta3)

Plot2Beta3 <-
  ggplot(data = fm1$delta1, mapping = aes(delta3)) +
  geom_histogram() +
  scale_x_continuous(labels = scales::comma) +
  scale_y_continuous(labels = scales::comma) +
  labs(y = "Frequency", x = expression(beta[3])) +
  theme_bw()
print(Plot2Beta3)


BiplotAMMI <-
  ggplot(data = fm1$alphas0, mapping = aes(x = alphas1, y = alphas2)) +
  geom_point() +
  geom_hline(yintercept = 0) +
  geom_vline(xintercept = 0) +
  geom_text(aes(label = 1:nrow(fm1$alphas0)),
            vjust = "inward", hjust = "inward") +
  geom_point(data = fm1$gammas0, mapping = aes(x = gammas1, y = gammas2)) +
  geom_segment(data = fm1$gammas0,
               aes(x = 0, y = 0, xend = gammas1, yend = gammas2),
               arrow = arrow(length = unit(0.2, "cm"))
               , alpha = 0.75, color = "red") +
  geom_text(data = fm1$gammas0,
            aes(x = gammas1, y = gammas2,
                label = paste0("E", 1:nrow(fm1$gammas0))),
            vjust = "inward", hjust = "inward") +
  scale_x_continuous(
    limits = c(-max(abs(c(range(fm1$alphas0[, 1:2], fm1$gammas0[, 1:2]))))
               , max(abs(c(range(fm1$alphas0[, 1:2], fm1$gammas0[, 1:2])))))) +
  scale_y_continuous(
    limits = c(-max(abs(c(range(fm1$alphas0[, 1:2], fm1$gammas0[, 1:2]))))
               , max(abs(c(range(fm1$alphas0[, 1:2], fm1$gammas0[, 1:2])))))) +
  labs(title = "MCO Method", x = expression(PC[1]), y = expression(PC[2])) +
  theme_bw() +
  theme(plot.title = element_text(hjust = 0.5))

print(BiplotAMMI)


BiplotBayesAMMI <-
  ggplot(data = fm1$alphas1, mapping = aes(x = alphas1, y = alphas2)) +
  geom_point() +
  geom_hline(yintercept = 0) +
  geom_vline(xintercept = 0) +
  geom_text(aes(label = 1:nrow(fm1$alphas1)),
            vjust = "inward", hjust = "inward") +
  geom_point(data = fm1$gammas1, mapping = aes(x = gammas1, y = gammas2)) +
  geom_segment(data = fm1$gammas1,
               aes(x = 0, y = 0, xend = gammas1, yend = gammas2),
               arrow = arrow(length = unit(0.2, "cm"))
               , alpha = 0.75, color = "red") +
  geom_text(data = fm1$gammas1,
            aes(x = gammas1, y = gammas2,
                label = paste0("E", 1:nrow(fm1$gammas1))),
            vjust = "inward", hjust = "inward") +
  scale_x_continuous(
    limits = c(-max(abs(c(range(fm1$alphas1[, 1:2], fm1$gammas1[, 1:2]))))
               , max(abs(c(range(fm1$alphas1[, 1:2], fm1$gammas1[, 1:2])))))) +
  scale_y_continuous(
    limits = c(-max(abs(c(range(fm1$alphas1[, 1:2], fm1$gammas1[, 1:2]))))
               , max(abs(c(range(fm1$alphas1[, 1:2], fm1$gammas1[, 1:2])))))) +
  labs(title = "Bayesian Method", x = expression(PC[1]), y = expression(PC[2])) +
  theme_bw() +
  theme(plot.title = element_text(hjust = 0.5))

print(BiplotBayesAMMI)

Biplots

Description

biplots

Usage

## Default S3 method:
biplots(
  model,
  burnin = 0.3,
  thin = 0.2,
  pb = 0.05,
  plot_stable = TRUE,
  plot_unstable = TRUE,
  ncolors = 5
)

Arguments

model

Output from 'bayes_ammi()'. This should contain the results of the Bayesian AMMI model, including all sampled iterations.

burnin

Numeric. Percentage of iterations to discard as burn-in to avoid the effects of random initializations during sampling. For example, 'burnin = 0.1' removes the first 10% of iterations.

thin

Numeric. Proportion of sampled iterations to retain for analysis. For example, 'thin = 0.2' keeps 20% of the iterations, selecting 1 out of every 5 iterations.

pb

Numeric. Significance levels for the contours in the plot. Smaller values of 'pb' result in wider contours, while higher values create smaller, more specific contours.

plot_stable

Logical. If 'TRUE', stable instances are highlighted in the output plot.

plot_unstable

Logical. If 'TRUE', unstable instances are highlighted in the output plot.

ncolors

Integer. Specifies the number of distinct colors to use in the plot. Adjust this to control the visual differentiation of elements in the plot.

Value

A list with the following components:

plot

A plot displaying the contours and final biplot values.

contour_data

A 'data.frame' containing the data used to create the contours.

biplot_data

A 'data.frame' containing the data used to recreate the final biplot values.

Author(s)

  1. Julian Garcia Abadillo Velasco ([email protected])

  2. Diego Jarquin ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

## Not run: 
data(Maiz)

fm1 <-
  bayes_ammi(
    .data = Maiz,
    .y = y,
    .gen = entry,
    .env = site,
    .rep = rep,
    .nIter = 200
  )

library(ggplot2)

output_05 <- biplots(model = fm1, plot_stable = TRUE, plot_unstable = TRUE, pb = 0.05)
output_05

output_95 <- biplots(model = fm1, plot_stable = TRUE, plot_unstable = TRUE, pb = 0.95)
output_95

## End(Not run)

Environment Effects

Description

Calcuates Environment Effects

Usage

## Default S3 method:
e_eff(.data, .y, .gen, .env)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

Value

Environment Effects

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)
e_eff(
    .data  = Maiz
   , .y    = y
   , .gen  = entry
   , .env  = site
   )

Genotype Effects

Description

Calcuates Genotype Effects

Usage

## Default S3 method:
g_eff(.data, .y, .gen, .env)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

Value

Genotype Effects

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)
g_eff(
    .data  = Maiz
   , .y    = y
   , .gen  = entry
   , .env  = site
   )

AMMI of Genotype by Environment Interaction Model

Description

Performs Additive Main Effects and Multiplication Interaction Analysis of Genotype by Environment Interaction Model

Usage

ge_ammi(.data, .y, .gen, .env, .rep)

## Default S3 method:
ge_ammi(.data, .y, .gen, .env, .rep)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

.rep

Replication Factor

Value

Genotype by Environment Interaction Model

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)
fm1 <-
   ge_ammi(
      .data  = Maiz
     , .y    = y
     , .gen  = entry
     , .env  = site
     , .rep  = rep
     )

Genotype by Environment Interaction Effects

Description

Calcuates Genotype by Environment Interaction Effects

Usage

## Default S3 method:
ge_eff(.data, .y, .gen, .env)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

Value

Genotype by Environment Interaction Effects

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)
ge_eff(
    .data  = Maiz
   , .y    = y
   , .gen  = entry
   , .env  = site
   )

Genotype by Environment Interaction Means

Description

Calcuates Genotype by Environment Interaction Means

Usage

## Default S3 method:
ge_mean(.data, .y, .gen, .env)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

Value

Genotype by Environment Interaction Means

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)
ge_mean(
    .data  = Maiz
   , .y    = y
   , .gen  = entry
   , .env  = site
   )

Genotype by Environment Interaction Model

Description

Calcuates Genotype by Environment Interaction Model

Usage

ge_model(.data, .y, .gen, .env, .rep)

## Default S3 method:
ge_model(.data, .y, .gen, .env, .rep)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

.rep

Replication Factor

Value

Genotype by Environment Interaction Model

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)
fm1 <-
   ge_model(
      .data  = Maiz
     , .y    = y
     , .gen  = entry
     , .env  = site
     , .rep  = rep
     )

Genotype by Environment Interaction Variances

Description

Calcuates Genotype by Environment Interaction Variances

Usage

## Default S3 method:
ge_var(.data, .y, .gen, .env)

Arguments

.data

data.frame

.y

Response Variable

.gen

Genotypes Factor

.env

Environment Factor

Value

Genotype by Environment Interaction Variances

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)
ge_var(
    .data  = Maiz
   , .y    = y
   , .gen  = entry
   , .env  = site
   )

Data for Genotypes by Environment Interaction (GEI)

Description

Maiz is used for performing Genotypes by Environment Interaction (GEI) Analysis.

Usage

data(Maiz)

Format

A data.frame 1320 obs. of 6 variables.

Details

  • Gen Genotype

  • Institute Institute

  • Rep Replicate

  • Block Block

  • Env Environment

  • Yield Yield Response

Author(s)

  1. Muhammad Yaseen ([email protected])

  2. Jose Crossa ([email protected])

  3. Sergio Perez-Elizalde ([email protected])

  4. Diego Jarquin ([email protected])

  5. Jose Miguel Cotes

  6. Kert Viele

  7. Genzhou Liu

  8. Paul L. Cornelius

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)

Examples

data(Maiz)

k Matrix

Description

Gives k matrix

Usage

matrix_k(n)

## Default S3 method:
matrix_k(n)

Arguments

n

Number of columns

Value

Matrix

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)


Orthogonal Normalization

Description

Perform Orthogonal Normalization of a matrix

Usage

orthnorm(u = NULL, basis = TRUE, norm = TRUE)

## Default S3 method:
orthnorm(u = NULL, basis = TRUE, norm = TRUE)

Arguments

u

Matrix

basis

Logical argument by default TRUE

norm

Logical argument by default TRUE

Value

Matrix

Author(s)

  1. Muhammad Yaseen ([email protected])

References

Crossa, J., Perez-Elizalde, S., Jarquin, D., Cotes, J.M., Viele, K., Liu, G., and Cornelius, P.L. (2011) Bayesian Estimation of the Additive Main Effects and Multiplicative Interaction Model Crop Science, 51, 1458–1469. (doi: 10.2135/cropsci2010.06.0343)