Compute the Ratio of Phenotype Retained (\(RPR\)) (Li et al. 2002) to compare qualitative traits between entire collection (EC) and core set (CS).

rpr.evaluate.core(data, names, qualitative, selected)



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.


Name of column with the individual names as a character string


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


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


The Ratio of Phenotype Retained value.


Ratio of Phenotype Retained (\(RPR\)) (Kim et al. 2007) is computed as follows.

\[RPR = \frac{\sum_{i=1}^{n} k_{CS_{i}}}{\sum_{i=1}^{n} k_{EC_{i}}}\]

Where, \(k_{CS_{i}}\) is the number of phenotypic classes in CS for the \(i\)th trait, \(k_{EC_{i}}\) is the number of phenotypic classes in EC for the \(i\)th trait and \(n\) is the total number of traits.


Kim K, Chung H, Cho G, Ma K, Chandrabalan D, Gwag J, Kim T, Cho E, Park Y (2007). “PowerCore: A program applying the advanced M strategy with a heuristic search for establishing core sets.” Bioinformatics, 23(16), 2155--2162.

Li Z, Zhang H, Zeng Y, Yang Z, Shen S, Sun C, Wang X (2002). “Studies on sampling schemes for the establishment of corecollection of rice landraces in Yunnan, China.” Genetic Resources and Crop Evolution, 49(1), 67--74.



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",

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

rpr.evaluate.core(data = ec, names = "genotypes",
                  qualitative = qual, selected = core)
#> [1] 0.9315068