Data Analysis with selection.index

Zankrut Goyani

2021-04-23

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.1465  0.1546  0.2320  0.2761  1.0801  0.1460  0.0875
#> dtf  0.1546  3.8372  0.1314 -0.4282 -0.4703  0.0585 -0.0192
#> rpp  0.2320  0.1314  0.2275 -0.0405  0.4635  0.0096 -0.0006
#> ppr  0.2761 -0.4282 -0.0405  0.4678  0.3931 -0.0205  0.0064
#> ppp  1.0801 -0.4703  0.4635  0.3931  4.2638  0.0632 -0.0245
#> spp  0.1460  0.0585  0.0096 -0.0205  0.0632  0.0836  0.0259
#> pw   0.0875 -0.0192 -0.0006  0.0064 -0.0245  0.0259  0.0226
wmat<- weight.mat(w)
wmat
#>      ew     h2
#> [1,]  1 0.6947
#> [2,]  1 0.3244
#> [3,]  1 0.6861
#> [4,]  1 0.7097
#> [5,]  1 0.8336
#> [6,]  1 0.2201
#> [7,]  1 0.5226

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.5854
#> 
#> $GA
#>        [,1]
#> [1,] 1.7694
#> 
#> $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_ew<- comb.indices(ncomb = 2, pmat = pmat, gmat = gmat, wmat = wmat, wcol = 1, GAY = 1.7694)
si_ew
#>      ID    b.1     b.2     GA      PRE Rank
#> 1  1, 2 0.7055  0.4640 2.9144 164.7089    1
#> 2  1, 3 0.5855  0.6833 2.0915 118.2044    5
#> 3  1, 4 0.6114  0.6785 2.3034 130.1815    3
#> 4  1, 5 0.8340  0.1864 2.9009 163.9454    2
#> 5  1, 6 0.5979  0.6902 1.9870 112.3004    8
#> 6  1, 7 0.5260  2.5167 2.0304 114.7484    6
#> 7  2, 3 0.4139  1.1055 2.1197 119.8004    4
#> 8  2, 4 0.3435  0.1654 1.3321  75.2850   13
#> 9  2, 5 0.3718  0.2117 1.6600  93.8157   12
#> 10 2, 6 0.4170  1.3135 1.9304 109.1001    9
#> 11 2, 7 0.4266  2.2783 1.8200 102.8607   11
#> 12 3, 4 0.5322  0.4984 0.8230  46.5157   16
#> 13 3, 5 1.7692  0.1081 1.9993 112.9935    7
#> 14 3, 6 0.5428  0.0429 0.5365  30.3212   19
#> 15 3, 7 0.5277 -0.0789 0.5200  29.3905   20
#> 16 4, 5 0.9933  0.2046 1.8449 104.2694   10
#> 17 4, 6 0.4785  0.0755 0.6720  37.9795   18
#> 18 4, 7 0.5270  0.6339 0.7809  44.1353   17
#> 19 5, 6 0.2208 -0.7865 1.0055  56.8298   15
#> 20 5, 7 0.2008 -1.9018 1.0765  60.8416   14
#> 21 6, 7 0.0808  0.7393 0.2609  14.7437   21
si_h2<- comb.indices(ncomb = 2, pmat = pmat, gmat = gmat, wmat = wmat, wcol = 2, GAY = 1.7694)
si_h2
#>      ID     b.1     b.2     GA      PRE Rank
#> 1  1, 2  0.4440  0.1736 1.5474  87.4550    4
#> 2  1, 3  0.4067  0.4698 1.4498  81.9354    6
#> 3  1, 4  0.4255  0.4787 1.6089  90.9291    2
#> 4  1, 5  0.6159  0.1516 2.1772 123.0462    1
#> 5  1, 6  0.3910  0.4233 1.2907  72.9465    8
#> 6  1, 7  0.3604  1.6894 1.3836  78.1954    7
#> 7  2, 3  0.1436  0.5639 0.8574  48.4593   11
#> 8  2, 4  0.1013  0.2447 0.4434  25.0570   18
#> 9  2, 5  0.1035  0.1815 0.8353  47.2076   12
#> 10 2, 6  0.1324  0.4064 0.6098  34.4635   13
#> 11 2, 7  0.1406  0.8313 0.6083  34.3774   14
#> 12 3, 4  0.3641  0.3541 0.5776  32.6412   15
#> 13 3, 5  1.3935  0.0879 1.5822  89.4189    3
#> 14 3, 6  0.3942 -0.0700 0.3873  21.8865   19
#> 15 3, 7  0.3708 -0.1284 0.3673  20.7605   20
#> 16 4, 5  0.7662  0.1675 1.4516  82.0366    5
#> 17 4, 6  0.3572 -0.0440 0.5074  28.6765   17
#> 18 4, 7  0.3722  0.3651 0.5441  30.7526   16
#> 19 5, 6  0.1960 -0.7924 0.9149  51.7077   10
#> 20 5, 7  0.1708 -1.7234 0.9362  52.9108    9
#> 21 6, 7 -0.0008  0.3218 0.0995   5.6257   21

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_ew<- c(si_ew$b.1[1], si_ew$b.2[1])
sel.score.rank(data = d[,3:4], bmat = b_ew, genotype = d$treat)
#>    Genotype Selection.score Rank
#> 1        G1        23.70954   22
#> 2        G2        24.82543   15
#> 3        G3        24.09161   19
#> 4        G4        25.43691    8
#> 5        G5        25.31276    9
#> 6        G6        24.30728   18
#> 7        G7        23.43554   24
#> 8        G8        25.16649   10
#> 9        G9        26.03006    4
#> 10      G10        23.07997   25
#> 11      G11        25.74240    6
#> 12      G12        24.63835   16
#> 13      G13        24.88772   13
#> 14      G14        25.73691    7
#> 15      G15        23.64999   23
#> 16      G16        24.88672   14
#> 17      G17        25.15723   11
#> 18      G18        24.38874   17
#> 19      G19        27.15122    2
#> 20      G20        24.98537   12
#> 21      G21        26.78243    3
#> 22      G22        28.20124    1
#> 23      G23        24.08199   20
#> 24      G24        23.83542   21
#> 25      G25        25.75141    5
b_h2<- c(si_h2$b.1[1], si_h2$b.2[1])
sel.score.rank(data = d[,3:4], bmat = b_h2, genotype = d$treat)
#>    Genotype Selection.score Rank
#> 1        G1        9.855892   21
#> 2        G2       10.492384   14
#> 3        G3        9.833201   22
#> 4        G4       10.778530    8
#> 5        G5       10.733285    9
#> 6        G6       10.199180   18
#> 7        G7        9.650559   23
#> 8        G8       10.410989   15
#> 9        G9       11.283389    4
#> 10      G10        9.328099   25
#> 11      G11       10.905000    6
#> 12      G12       10.407534   16
#> 13      G13       10.531581   12
#> 14      G14       11.098901    5
#> 15      G15        9.621054   24
#> 16      G16       10.498052   13
#> 17      G17       10.668296   11
#> 18      G18       10.250447   17
#> 19      G19       11.561381    2
#> 20      G20       10.724604   10
#> 21      G21       11.427962    3
#> 22      G22       11.926170    1
#> 23      G23        9.958712   19
#> 24      G24        9.902218   20
#> 25      G25       10.844883    7