Data Analysis with selection.index

Zankrut Goyani

2021-04-02

The aim of most plant breeding program is simultaneous improvement of several characters. An objective method involving simultaneous selection for several attributes then becomes necessary. It has been recognized that most rapid improvements in the economic value is expected from selection applied simultaneously to all the characters which determine the economic value of a plant, and appropriate assigned weights to each character according to their economic importance, heritability and correlations between characters. So the selection for economic value is a complex matter. If the component characters are combined together into an index in such a way that when selection is applied to the index, as if index is the character to be improved, most rapid improvement of economic value is expcted. Such an index was first proposed by Smith (1937) based on the Fisher’s (1936) “discriminant function”. In this package selection index is calculated based on the Smith (1937) selection index method (Dabholkar, 1999). For more imformation refer Elements of Bio Metrical GENETICS by A. R. Dabholkar.

library(selection.index)
d<- seldata # Manually generated data for analysis which is included in package
w<- weight # Weights assigned to the traits also include in package

As we discussed that selection index based on discriminant function. So we have required genotypic & phenotypic variance-covariance matrix for further analysis.

gmat<- gen.varcov(data = d[,3:9], genotypes = d$treat, replication = d$rep)
print(gmat)
#>        sypp     dtf     rpp     ppr     ppp     spp      pw
#> sypp 1.2566  0.3294  0.1588  0.2430  0.7350  0.1276  0.0926
#> dtf  0.3294  1.5602  0.1734 -0.3129 -0.2331  0.1168  0.0330
#> rpp  0.1588  0.1734  0.1325 -0.0316  0.3201 -0.0086 -0.0124
#> ppr  0.2430 -0.3129 -0.0316  0.2432  0.3019 -0.0209  0.0074
#> ppp  0.7350 -0.2331  0.3201  0.3019  0.9608 -0.0692 -0.0582
#> spp  0.1276  0.1168 -0.0086 -0.0209 -0.0692  0.0174  0.0085
#> pw   0.0926  0.0330 -0.0124  0.0074 -0.0582  0.0085  0.0103
pmat<- phen.varcov(data = d[,3:9], genotypes = d$treat, replication = d$rep)
print(pmat)
#>        sypp     dtf     rpp     ppr     ppp     spp      pw
#> sypp 2.5132  0.6588  0.3176  0.4860  1.4700  0.2552  0.1852
#> dtf  0.6588  3.1204  0.3468 -0.6258 -0.4662  0.2336  0.0660
#> rpp  0.3176  0.3468  0.2650 -0.0632  0.6402 -0.0172 -0.0248
#> ppr  0.4860 -0.6258 -0.0632  0.4864  0.6038 -0.0418  0.0148
#> ppp  1.4700 -0.4662  0.6402  0.6038  1.9216 -0.1384 -0.1164
#> spp  0.2552  0.2336 -0.0172 -0.0418 -0.1384  0.0348  0.0170
#> pw   0.1852  0.0660 -0.0248  0.0148 -0.1164  0.0170  0.0206

Generally, Percent Relative Efficiency (PRE) of a selection index is calculated with reference to Genetic Advance (GA) yield of respective weight. So first we calculate the GA of yield for respective weights. + Genetic gain of Yield

GA1<- sel.index(ID = 1, phen_mat = pmat[1,1], gen_mat = gmat[1,1],
                weight_mat = w[1,2])
print(GA1)
#> $ID
#> [1] "1"
#> 
#> $b
#>      [,1]
#> [1,]  0.5
#> 
#> $GA
#>        [,1]
#> [1,] 1.6352
#> 
#> $PRE
#>      [,1]
#> [1,]  100

In single character combination GA is stored in 3^^rd list element. So we can store this GA values in different variables for further use.

GAY<- GA1[[3]]

We use this GAY value for the construction, ranking of the other selection indices and stored them in a list “si”.

si<- list()
si[[1]]<- sel.index(ID = 1, phen_mat = pmat[1,1], gen_mat = gmat[1,1],
                    weight_mat = w[1,2], GAY = GAY)
si[[2]]<- sel.index(ID = 2, phen_mat = pmat[2,2], gen_mat = gmat[2,2],
                    weight_mat = w[2,2], GAY = GAY)
si[[3]]<- sel.index(ID = 3, phen_mat = pmat[3,3], gen_mat = gmat[3,3],
                    weight_mat = w[3,2], GAY = GAY)
si[[4]]<- sel.index(ID = 4, phen_mat = pmat[4,4], gen_mat = gmat[4,4],
                    weight_mat = w[4,2], GAY = GAY)
si[[5]]<- sel.index(ID = 5, phen_mat = pmat[5,5], gen_mat = gmat[5,5],
                    weight_mat = w[5,2], GAY = GAY)
si[[6]]<- sel.index(ID = 6, phen_mat = pmat[6,6], gen_mat = gmat[6,6],
                    weight_mat = w[6,2], GAY = GAY)
si[[7]]<- sel.index(ID = 7, phen_mat = pmat[7,7], gen_mat = gmat[7,7],
                    weight_mat = w[7,2], GAY = GAY)

Ranking of selection indices which are stored in list “si”. The value of i is changes according to ranks of the selection index.

Ex. For top three indices i = 3, Top ranked index, i = 1

rank<- rank.index(list = si, i = 3)
print(rank)
#>    ID   b     GA      PRE Rank
#> 21  2 0.5 1.8221 111.4303    1
#> 2   1 0.5 1.6352 100.0027    2
#> 5   5 0.5 1.4299  87.4440    3

Selection score and Ranking of genotypes

Generally selection score is calculate based on top ranked selection index. So first we store the discriminant coefficient value into a variable b, and later that value we used for calculation of selection score and ranking of the genotypes.

b<- rank[[2]][1]
sel.score.rank(data = d[,3], bmat = b, genotype = d$treat)
#>    Genotype Selection.score Rank
#> 1        G1        2.736117   19
#> 2        G2        3.344283   13
#> 3        G3        2.276133   23
#> 4        G4        3.503600    9
#> 5        G5        3.506950    8
#> 6        G6        3.068400   17
#> 7        G7        2.450583   22
#> 8        G8        2.763883   18
#> 9        G9        4.289350    1
#> 10      G10        1.924533   25
#> 11      G11        3.537417    7
#> 12      G12        3.303033   14
#> 13      G13        3.388417   11
#> 14      G14        4.081600    2
#> 15      G15        2.145833   24
#> 16      G16        3.296350   15
#> 17      G17        3.488067   10
#> 18      G18        3.126133   16
#> 19      G19        3.896450    4
#> 20      G20        3.823000    5
#> 21      G21        3.909117    3
#> 22      G22        3.818517    6
#> 23      G23        2.634683   21
#> 24      G24        2.733983   20
#> 25      G25        3.361100   12

Tips to use this package effectively
+ Use for loop to make the selection indices construction + Do not forget the Index of the trait/character when you calculating the selction score and ranking of genotypes.