data_simula: Simulate genotype and genotype-environment data

data_simulaR Documentation

Simulate genotype and genotype-environment data

Description

[Experimental]

  • g_simula() simulate replicated genotype data.

  • ge_simula() simulate replicated genotype-environment data.

Usage

ge_simula(
  ngen,
  nenv,
  nrep,
  nvars = 1,
  gen_eff = 20,
  env_eff = 15,
  rep_eff = 5,
  ge_eff = 10,
  res_eff = 5,
  intercept = 100,
  seed = NULL
)

g_simula(
  ngen,
  nrep,
  nvars = 1,
  gen_eff = 20,
  rep_eff = 5,
  res_eff = 5,
  intercept = 100,
  seed = NULL
)

Arguments

ngen

The number of genotypes.

nenv

The number of environments.

nrep

The number of replications.

nvars

The number of traits.

gen_eff

The genotype effect.

env_eff

The environment effect

rep_eff

The replication effect

ge_eff

The genotype-environment interaction effect.

res_eff

The residual effect. The effect is sampled from a normal distribution with zero mean and standard deviation equal to res_eff. Be sure to change res_eff when changin the intercept scale.

intercept

The intercept.

seed

The seed.

Details

The functions simulate genotype or genotype-environment data given a desired number of genotypes, environments and effects. All effects are sampled from an uniform distribution. For example, given 10 genotypes, and gen_eff = 30, the genotype effects will be sampled as runif(10, min = -30, max = 30). Use the argument seed to ensure reproducibility. If more than one trait is used (nvars > 1), the effects and seed can be passed as a numeric vector. Single numeric values will be recycled with a warning when more than one trait is used.

Value

A data frame with the simulated traits

Author(s)

Tiago Olivoto tiagoolivoto@gmail.com

Examples


library(metan)
# Genotype data (5 genotypes and 3 replicates)
gen_data <-
   g_simula(ngen = 5,
            nrep = 3,
            seed = 1)
gen_data
inspect(gen_data, plot = TRUE)

aov(V1 ~ GEN + REP, data = gen_data) %>% anova()

# Genotype-environment data
# 5 genotypes, 3 environments, 4 replicates and 2 traits
df <-
ge_simula(ngen = 5,
          nenv = 3,
          nrep = 4,
          nvars = 2,
          seed = 1)
ge_plot(df, ENV, GEN, V1)
aov(V1 ~ ENV*GEN + ENV/REP, data = df) %>% anova()

# Change genotype effect (trait 1 with fewer differences among genotypes)
# Define different intercepts for the two traits
df2 <-
ge_simula(ngen = 10,
          nenv = 3,
          nrep = 4,
          nvars = 2,
          gen_eff = c(1, 50),
          intercept = c(80, 1500),
          seed = 1)
ge_plot(df2, ENV, GEN, V2)


metan documentation built on March 7, 2023, 5:34 p.m.