End to End Analisis Uji Multi Lokasi (UML)

Analisis METs (multi-environment trials) atau biasa dikenal dengan percobaan multilokasi (UML) merupakan sederetan percobaan yang dilakukan pada beberapa lingkungan atau lokasi. Rancangan percobaan di setiap lingkungan bisa menggunakan RKLT, RBSL ataupun yang lainnya. Pada analisis ini menggunakan dataset data_ge yang tersedia di paket metan.

a. Set up data

Persiapkan data, mulai dari input data, cek/memeriksa data, manipulasi data ataupun pemrosesan data lainnya. Hal ini dilakukan melalui berbagai cara seperti melihat struktur data, menambah kolom tertentu dengan nama yang sesuai, mengubah karakter atau nilai dari suatu variabel seperti string, numeric, character, factor dll.

library(agricolae)
library(metan)
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
## |=========================================================|
## | Multi-Environment Trial Analysis (metan) v1.18.0        |
## | Author: Tiago Olivoto                                   |
## | Type 'citation('metan')' to know how to cite metan      |
## | Type 'vignette('metan_start')' for a short tutorial     |
## | Visit 'https://bit.ly/pkgmetan' for a complete tutorial |
## |=========================================================|
my_data <- data_ge
str(my_data)
## tibble [420 × 5] (S3: tbl_df/tbl/data.frame)
##  $ ENV: Factor w/ 14 levels "E1","E10","E11",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ GEN: Factor w/ 10 levels "G1","G10","G2",..: 1 1 1 3 3 3 4 4 4 5 ...
##  $ REP: Factor w/ 3 levels "1","2","3": 1 2 3 1 2 3 1 2 3 1 ...
##  $ GY : num [1:420] 2.17 2.5 2.43 3.21 2.93 ...
##  $ HM : num [1:420] 44.9 46.9 47.8 45.2 45.3 ...

b. Analisis Ragam/uji lanjut

Analisis ragam diperuntukkan untuk melihat interaksi antara dua faktor, yaitu G x E, nyata tidaknya tergantung karakter tanaman, jumlah genotipe, dan lingkungan. apabila interaksi nyata dapat dilanjutkan pada analisis berikutnya

# 1. ANOVA 
mod1 <- aov(GY ~ ENV + REP%in%ENV + GEN + GEN:ENV, my_data)
anova(mod1)
summary(mod1)
##              Df Sum Sq Mean Sq F value   Pr(>F)    
## ENV          13 279.57  21.506 222.411  < 2e-16 ***
## GEN           9  13.00   1.444  14.933  < 2e-16 ***
## ENV:REP      28   9.66   0.345   3.569 3.59e-08 ***
## ENV:GEN     117  31.22   0.267   2.760 1.01e-11 ***
## Residuals   252  24.37   0.097                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cv <- cv.model(mod1)
cv
## [1] 11.62779
round(cv, 2)
## [1] 11.63

c. analisis AMMI

Analisis AMMI berguna untuk melihat sejauh mana interaksi GxE berperan terhadap karakter yang diamati. Untuk itu, AMMI memperlihatkan pola interaksi GxE melalui komponen-komponen utama yg disebut PC (principle component). Dengan demikian interaksi yg ada didekomposisi atau diuraikan menjadi beberapa komponen utama untuk menerangkan kompleksitas interaksi GxE.

# 2. AMMI 
mod2 <- performs_ammi(my_data, ENV, GEN, REP, GY)
## variable GY 
## ---------------------------------------------------------------------------
## AMMI analysis table
## ---------------------------------------------------------------------------
##     Source  Df  Sum Sq Mean Sq F value   Pr(>F) Proportion Accumulated
##        ENV  13 279.574 21.5057   62.33 0.00e+00         NA          NA
##   REP(ENV)  28   9.662  0.3451    3.57 3.59e-08         NA          NA
##        GEN   9  12.995  1.4439   14.93 2.19e-19         NA          NA
##    GEN:ENV 117  31.220  0.2668    2.76 1.01e-11         NA          NA
##        PC1  21  10.749  0.5119    5.29 0.00e+00       34.4        34.4
##        PC2  19   9.924  0.5223    5.40 0.00e+00       31.8        66.2
##        PC3  17   4.039  0.2376    2.46 1.40e-03       12.9        79.2
##        PC4  15   3.074  0.2049    2.12 9.60e-03        9.8        89.0
##        PC5  13   1.446  0.1113    1.15 3.18e-01        4.6        93.6
##        PC6  11   0.932  0.0848    0.88 5.61e-01        3.0        96.6
##        PC7   9   0.567  0.0630    0.65 7.53e-01        1.8        98.4
##        PC8   7   0.362  0.0518    0.54 8.04e-01        1.2        99.6
##        PC9   5   0.126  0.0252    0.26 9.34e-01        0.4       100.0
##  Residuals 252  24.367  0.0967      NA       NA         NA          NA
##      Total 536 389.036  0.7258      NA       NA         NA          NA
## ---------------------------------------------------------------------------
## 
## All variables with significant (p < 0.05) genotype-vs-environment interaction
## Done!
print(mod2)
## Variable GY 
## ---------------------------------------------------------------------------
## AMMI analysis table
## ---------------------------------------------------------------------------
##       Source  Df     Sum Sq     Mean Sq   F value       Pr(>F) Proportion
## 1        ENV  13 279.573552 21.50565785 62.325457 0.000000e+00         NA
## 2   REP(ENV)  28   9.661516  0.34505416  3.568548 3.593191e-08         NA
## 3        GEN   9  12.995044  1.44389374 14.932741 2.190118e-19         NA
## 4    GEN:ENV 117  31.219565  0.26683389  2.759595 1.005191e-11         NA
## 5        PC1  21  10.749140  0.51186000  5.290000 0.000000e+00       34.4
## 6        PC2  19   9.923920  0.52231000  5.400000 0.000000e+00       31.8
## 7        PC3  17   4.039180  0.23760000  2.460000 1.400000e-03       12.9
## 8        PC4  15   3.073770  0.20492000  2.120000 9.600000e-03        9.8
## 9        PC5  13   1.446440  0.11126000  1.150000 3.176000e-01        4.6
## 10       PC6  11   0.932240  0.08475000  0.880000 5.606000e-01        3.0
## 11       PC7   9   0.566700  0.06297000  0.650000 7.535000e-01        1.8
## 12       PC8   7   0.362320  0.05176000  0.540000 8.037000e-01        1.2
## 13       PC9   5   0.125860  0.02517000  0.260000 9.345000e-01        0.4
## 14 Residuals 252  24.366674  0.09669315        NA           NA         NA
## 15     Total 536 389.035920  0.72581328        NA           NA         NA
##    Accumulated
## 1           NA
## 2           NA
## 3           NA
## 4           NA
## 5         34.4
## 6         66.2
## 7         79.2
## 8         89.0
## 9         93.6
## 10        96.6
## 11        98.4
## 12        99.6
## 13       100.0
## 14          NA
## 15          NA
## ---------------------------------------------------------------------------
## Scores for genotypes and environments
## ---------------------------------------------------------------------------
## # A tibble: 24 × 12
##    type  Code      Y      PC1      PC2      PC3      PC4      PC5      PC6
##    <chr> <chr> <dbl>    <dbl>    <dbl>    <dbl>    <dbl>    <dbl>    <dbl>
##  1 GEN   G1    2.604  0.3166  -0.04417 -0.03600 -0.06595 -0.3125  -0.4272 
##  2 GEN   G10   2.471 -1.001   -0.5718  -0.1652  -0.3309  -0.1243   0.1064 
##  3 GEN   G2    2.744  0.1390   0.1988  -0.7331   0.4735  -0.04816  0.2841 
##  4 GEN   G3    2.955  0.04340 -0.1028   0.2284   0.1769  -0.1270   0.1400 
##  5 GEN   G4    2.642 -0.3251   0.4782  -0.09073  0.1417  -0.1924  -0.3550 
##  6 GEN   G5    2.537 -0.3260   0.2461   0.2452   0.1794   0.4662  -0.03315
##  7 GEN   G6    2.534 -0.09836  0.2429   0.5607   0.2377   0.05094  0.1011 
##  8 GEN   G7    2.741  0.2849   0.5871  -0.2068  -0.7085   0.2315   0.08406
##  9 GEN   G8    3.004  0.4995  -0.1916   0.3191  -0.1676  -0.3261   0.2886 
## 10 GEN   G9    2.510  0.4668  -0.8427  -0.1217   0.06385  0.3819  -0.1889 
## # ℹ 14 more rows
## # ℹ 3 more variables: PC7 <dbl>, PC8 <dbl>, PC9 <dbl>

d. Biplot AMMI

Setelah mendapatkan nilai-nilai komponen AMMI baik itu pada genotipe (G) dan lingkungan (E) dapat diplotkan pada ruang berdimensi dua, yaitu biplot. Biplot AMMI berguna untuk menjelaskan dan memvisualisasikan pola-pola interaksi G x E beserta besarannya.

  1. Biplot AMMI 1 (rataan vs skor PC1), dapat menjelaskan besaran pengaruh interaksi terhadap stabilitas genotipe.
  2. Biplot AMMI 2 (skor PC1 vs PC2), menerangkan pola interaksi G x E dan adaptasi genotipe secara umum.
# 3. Biplot AMMI 
plot_scores(mod2, type=1, leg.lab = c("Lingkungan", "Kultivar"))

a1 <- plot_scores(mod2, type=2, leg.lab = c("Lingkungan", "Kultivar"))
a2 <- plot_scores(mod2, type = 1)

e. biplot GGE

Secara teknis berbeda dengan biplot AMMI, terutama perhitungannya, akan tetapi fungsi dan penjelasannya masih mirip dengan AMMI, akan tetapi penggunaannya lebih luas dibandingkan AMMI. Hal ini dikarenakan terdapat beragamnya biplot GGE yang dihasilkan dari visualisasinya.

  1. Basic biplot (PC1 vs PC2), menerangkan pola interaksi GxE.

  2. Mean performance vs. stability (gge biplots) or the The Average Tester Coordination view for genotype-trait and genotype-yield*trait biplots.

  3. Which-won-where. Menjelaskan pola adaptasi spesifik genotipe pada lingkungan tertentu, serta mampu membagi beberapa lingkungan menjadi mega-environment.

  4. Discriminativeness vs. representativeness. Menjelaskan pola-pola genotipe yang memiliki tingkat

  5. Examine an environment (or trait/yield*trait combination).

  6. Ranking environments (or trait/yield*trait combination).

  7. Examine a genotype.

  8. Ranking genotypes.

  9. Compare two genotypes.

  10. Relationship among environments (or trait/yield*trait combination).

# 4. Biplot GGE 
mod3 <- gge(my_data, ENV, GEN, GY)
print(mod3)
## $GY
## $coordgen
##              [,1]        [,2]        [,3]        [,4]        [,5]          [,6]
##  [1,]  0.01610444 -0.14571935 -0.37148174  0.02429496 -0.09558981 -0.8329731403
##  [2,] -0.73730534 -0.17022818  0.66186826 -0.27305939 -0.36620007 -0.0533604256
##  [3,]  0.16821588  0.12455957 -0.14620200 -0.80637124  0.58368522  0.1744957433
##  [4,]  0.41267919 -0.06525041  0.55954226  0.12645717  0.24757034  0.1598142418
##  [5,] -0.11571527  0.49262774  0.03135256 -0.10272520  0.17210057 -0.4612039911
##  [6,] -0.30307500  0.28924767 -0.10499775  0.33195232  0.18249008  0.5183538386
##  [7,] -0.19897590  0.21675196 -0.18110399  0.68009814  0.25078736  0.0005259355
##  [8,]  0.26991958  0.39697503 -0.34168137 -0.19783962 -0.84905169  0.3318278433
##  [9,]  0.65705951 -0.27715716  0.36022934  0.23713758 -0.16436755 -0.0962665922
## [10,] -0.16890710 -0.86180686 -0.46752557 -0.01994471  0.03857556  0.2587865467
##              [,7]         [,8]         [,9]     [,10]
##  [1,]  0.08299415  0.004279075 -0.639073732 0.3768857
##  [2,]  0.20876348 -0.112347996 -0.001929726 0.3768857
##  [3,]  0.41062856 -0.152023887 -0.010004520 0.3768857
##  [4,] -0.61816308 -0.380703646 -0.401064125 0.3768857
##  [5,] -0.54277314  0.351011713  0.592147332 0.3768857
##  [6,]  0.06413009  0.675840846 -0.467742730 0.3768857
##  [7,]  0.35211961 -0.646761738  0.302154179 0.3768857
##  [8,] -0.10390536 -0.223997564  0.009137699 0.3768857
##  [9,]  0.50613224  0.434480805  0.320336675 0.3768857
## [10,] -0.35992656  0.050222392  0.296038948 0.3768857
## 
## $coordenv
##               [,1]       [,2]         [,3]        [,4]        [,5]        [,6]
##  [1,]  0.925566934  0.1611397  0.053498512 -0.28402352  0.11725885  0.06448817
##  [2,]  0.816537768  0.3820221 -0.123177353  0.13590579  0.02019406 -0.08880249
##  [3,]  0.572276058  0.1859502 -0.002634319  0.17651328  0.21963223 -0.02395520
##  [4,]  0.813822254  0.2607079 -0.093983238 -0.18838868  0.07119126  0.37651161
##  [5,]  1.385061962 -0.1509422 -0.266337675  0.23296343  0.12914899  0.07217375
##  [6,]  0.164749837  0.1608779  0.396847035  0.27031419 -0.25063550  0.10536330
##  [7,]  0.194915029 -0.1704715  0.482222337  0.21564143  0.51926931 -0.05522041
##  [8,]  0.242625689 -0.5574855 -0.058610312 -0.78076412  0.01383258  0.11255754
##  [9,]  0.025465997 -0.8454143  0.896462819 -0.12692656  0.20100879  0.01056652
## [10,]  1.110231746 -0.3776394  0.039316151  0.05859059 -0.22864634 -0.31262658
## [11,]  0.436669676 -0.2542485  0.124562106 -0.04734039 -0.08077277 -0.17979897
## [12,]  0.385690604  0.3937986  0.468849710 -0.29406731 -0.59421714 -0.06161306
## [13,]  0.119804743 -0.1418048  0.469427300  0.45375709 -0.29389041  0.28805138
## [14,] -0.009302892  1.2571064  0.553053603 -0.24958487  0.25886250 -0.08958946
##               [,7]         [,8]        [,9]         [,10]
##  [1,] -0.082260355 -0.082063696  0.12072956  2.241865e-17
##  [2,]  0.144111589  0.030656332 -0.10507714  6.358425e-17
##  [3,]  0.099263691 -0.025250838  0.01485091 -5.980407e-16
##  [4,]  0.102459392  0.167953205  0.01796643  3.213684e-16
##  [5,] -0.102262704 -0.194592585 -0.06026315  1.867780e-16
##  [6,] -0.160953868  0.002473073  0.08995450  3.337994e-17
##  [7,] -0.006498039 -0.020993802  0.02471786 -3.365799e-16
##  [8,] -0.076625568  0.034286040 -0.05071982 -5.051875e-16
##  [9,]  0.128254897 -0.037536352 -0.02250992  4.278318e-16
## [10,]  0.079265847  0.195028039  0.06180338 -5.989605e-17
## [11,] -0.284180449  0.082006697 -0.06719233  1.701613e-16
## [12,]  0.114128636 -0.174881716 -0.01121146 -1.102044e-16
## [13,] -0.047481569  0.086220442 -0.06418274 -3.652280e-16
## [14,] -0.084243079  0.073221518 -0.04124440  4.556218e-17
## 
## $eigenvalues
##  [1] 2.478458e+00 1.827690e+00 1.434583e+00 1.151378e+00 1.011176e+00
##  [6] 6.413885e-01 4.647917e-01 4.068879e-01 2.363355e-01 1.110483e-15
## 
## $totalvar
## [1] 14.74
## 
## $varexpl
##  [1] 41.67 22.66 13.96  8.99  6.94  2.79  1.47  1.12  0.38  0.00
## 
## $labelgen
##  [1] "G1"  "G10" "G2"  "G3"  "G4"  "G5"  "G6"  "G7"  "G8"  "G9" 
## 
## $labelenv
##  [1] "E1"  "E10" "E11" "E12" "E13" "E14" "E2"  "E3"  "E4"  "E5"  "E6"  "E7" 
## [13] "E8"  "E9" 
## 
## $labelaxes
##  [1] "PC1"  "PC2"  "PC3"  "PC4"  "PC5"  "PC6"  "PC7"  "PC8"  "PC9"  "PC10"
## 
## $ge_mat
##              E1         E10          E11         E12          E13          E14
## G1  -0.15489667  0.13242400 -0.012598000 -0.26617901  0.088628395 -0.248600000
## G10 -0.54661000 -0.63895600 -0.469164667 -0.58637654 -1.078964198  0.077276543
## G2   0.38106333  0.12184400  0.122455333  0.38482099  0.118677778 -0.355353086
## G3   0.36790333  0.16151733  0.199462000  0.15584568  0.559517284  0.277720988
## G4   0.06788333 -0.00785600  0.001735333 -0.08117901 -0.273914815  0.079400000
## G5  -0.33242333 -0.03537600 -0.042598000  0.08048765 -0.341532099  0.002362963
## G6  -0.21988333  0.03293733  0.132402000 -0.22284568  0.002035802  0.016918519
## G7   0.25304333  0.26668400 -0.003931333  0.34311728  0.274208642  0.154400000
## G8   0.37867667  0.39965733  0.315168667  0.39148765  0.610344444  0.209930864
## G9  -0.19475667 -0.43287600 -0.242931333 -0.19917901  0.040998765 -0.214056790
##              E2          E3          E4          E5           E6           E7
## G1  -0.13926900  0.01600000 -0.18093933  0.26003086  0.145872840 -0.091016000
## G10 -0.03411900  0.05000000  0.59572733 -0.54483333 -0.178337037  0.254730667
## G2   0.05109433  0.50433333  0.04030067 -0.08306790 -0.121880247 -0.001269333
## G3   0.42832100  0.06800000  0.45872733  0.21615432  0.321502469  0.169650667
## G4   0.01012100 -0.21000000 -0.37310600 -0.12789506  0.037971605 -0.008009333
## G5  -0.03982233 -0.32300000 -0.29615933 -0.44150000 -0.229892593 -0.332129333
## G6   0.11121433 -0.62966667 -0.27179933 -0.34157407 -0.327658025 -0.231109333
## G7  -0.56728233  0.03700000 -0.65631933  0.13741358  0.002687654  0.561917333
## G8   0.26483767  0.04566667  0.46250067  0.90159877  0.244909877  0.272884000
## G9  -0.08509567  0.44166667  0.22106733  0.02367284  0.104823457 -0.595649333
##               E8          E9
## G1  -0.264442333 -0.27293333
## G10  0.163934333  0.09340000
## G2  -0.491079000  0.30673333
## G3   0.314044333  0.23706667
## G4  -0.235785667  0.66806667
## G5   0.171954333  0.24306667
## G6   0.003004333 -0.01693333
## G7   0.047007667  0.08340000
## G8   0.342477667 -0.22860000
## G9  -0.051115667 -1.11326667
## 
## $centering
## [1] "environment"
## 
## $scaling
## [1] "none"
## 
## $svp
## [1] "environment"
## 
## $d
## [1] 0.8390548
## 
## $grand_mean
## [1] 2.674242
## 
## $mean_gen
##       G1      G10       G2       G3       G4       G5       G6       G7 
## 2.603676 2.471221 2.744147 2.955344 2.641915 2.537344 2.534030 2.740909 
##       G8       G9 
## 3.003638 2.510192 
## 
## $mean_env
##       E1      E10      E11      E12      E13      E14       E2       E3 
## 2.520683 2.175209 1.368265 1.608512 2.909631 1.781933 3.179959 4.064333 
##       E4       E5       E6       E7       E8       E9 
## 3.675273 3.910500 2.663214 1.988896 2.536376 3.056600 
## 
## $scale_val
##        E1       E10       E11       E12       E13       E14        E2        E3 
## 0.3353533 0.3139994 0.2242927 0.3266763 0.4876511 0.2085679 0.2624407 0.3341931 
##        E4        E5        E6        E7        E8        E9 
## 0.4208472 0.4187757 0.2118516 0.3351210 0.2674722 0.4758337 
## 
## attr(,"class")
## [1] "gge"
## 
## attr(,"class")
## [1] "gge"
g1 <- plot(mod3, type=1,  leg.lab = c('Lingkungan', 'Kultivar'))
g1

g2 <- plot(mod3, type=2,  leg.lab = c('Lingkungan', 'Kultivar'))
g2 
## Warning in geom_segment(x = 0, y = 0, xend = med1, yend = med2, arrow = arrow(length = unit(0.3, : All aesthetics have length 1, but the data has 24 rows.
## ℹ Please consider using `annotate()` or provide this layer with data containing
##   a single row.

g3 <- plot(mod3, type=3,  leg.lab = c('Lingkungan', 'Kultivar'))
g3

g8 <- plot(mod3, type=8)
g8
## Warning in geom_segment(x = 0, y = 0, xend = coordx, yend = coordy, arrow = arrow(length = unit(0.15, : All aesthetics have length 1, but the data has 24 rows.
## ℹ Please consider using `annotate()` or provide this layer with data containing
##   a single row.
## Warning in geom_point(aes(coordx, coordy), shape = 1, color = col.stroke, : All aesthetics have length 1, but the data has 24 rows.
## ℹ Please consider using `annotate()` or provide this layer with data containing
##   a single row.