Learn R Programming

EvaluateCore (version 0.1.4)

qq.evaluate.core: Quantile-Quantile Plots

Description

Plot Quantile-Quantile (QQ) plots wilk_probability_1968EvaluateCore to graphically compare the probability distributions of quantitative traits between entire collection (EC) and core set (CS).

Usage

qq.evaluate.core(
  data,
  names,
  quantitative,
  selected,
  annotate = c("none", "kl", "ks", "ad"),
  show.count = FALSE
)

Value

A list with the ggplot objects of QQ plots of CS vs EC for each trait specified as quantitative.

Arguments

data

The data as a data frame object. The data frame should possess one row per individual and columns with the individual names and multiple trait/character data.

names

Name of column with the individual names as a character string.

quantitative

Name of columns with the quantitative traits as a character vector.

selected

Character vector with the names of individuals selected in core collection and present in the names column.

annotate

Adds the divergence/distance value between probability distributions of CS and EC as an annotation to the QQ plot. Either "none" (no annotation (Default)) or "kl" (Kullback-Leibler divergence) or "ks" (Kolmogorov-Smirnov distance) or "ad" (Anderson-Darling distance).

show.count

logical. If TRUE, the accession count excluding missing values will also be displayed. Default is FALSE.

References

See Also

qqplot KL.plugin, ks.test, ad.test, pdfdist.evaluate.core

Examples

Run this code

data("cassava_CC")
data("cassava_EC")

ec <- cbind(genotypes = rownames(cassava_EC), cassava_EC)
ec$genotypes <- as.character(ec$genotypes)
rownames(ec) <- NULL

core <- rownames(cassava_CC)

quant <- c("NMSR", "TTRN", "TFWSR", "TTRW", "TFWSS", "TTSW", "TTPW", "AVPW",
           "ARSR", "SRDM")
qual <- c("CUAL", "LNGS", "PTLC", "DSTA", "LFRT", "LBTEF", "CBTR", "NMLB",
          "ANGB", "CUAL9M", "LVC9M", "TNPR9M", "PL9M", "STRP", "STRC",
          "PSTR")

ec[, qual] <- lapply(ec[, qual],
                     function(x) factor(as.factor(x)))

# \donttest{
qq.evaluate.core(data = ec, names = "genotypes",
                 quantitative = quant, selected = core)

qq.evaluate.core(data = ec, names = "genotypes",
                 quantitative = quant, selected = core, show.count = TRUE)

qq.evaluate.core(data = ec, names = "genotypes",
                 quantitative = quant, selected = core, annotate = "kl")

qq.evaluate.core(data = ec, names = "genotypes",
                 quantitative = quant, selected = core, annotate = "ks")

qq.evaluate.core(data = ec, names = "genotypes",
                 quantitative = quant, selected = core, annotate = "ad")
# }

Run the code above in your browser using DataLab