1. 程式人生 > >如何利用R語言做雙標圖Biplot---GGE模型

如何利用R語言做雙標圖Biplot---GGE模型

雙標圖在品種鑑定中比較常用, 下面介紹如何使用R語言進行GGE雙標圖的繪製.

介紹GGEBiplotGUI軟體包的使用

示例資料

處理步驟

  • 如何沒有按照GGEBiplotGUI, 那麼通過install.packages命令進行安裝
  • 整理資料, 列為地點, 行為品種
  • 匯入資料, 行名為品種名, 列名為地點(行頭), 第一列為第一個地點的產量
  • 使用GGEBiplot調入GGE視窗, 通過滑鼠選擇分析.

示例流程

# install.packages("GGEBiplotGUI")
library(GGEBiplotGUI)
data(Ontario)
head(Ontario)
GGEBiplot(Ontario)

資料型別

在這裡插入圖片描述

操作

1, 互動介面: 執行完GGEBiplot(Ontario)之後, 會出現下面介面, 這是Java寫的視窗, 可以通過滑鼠進行操作. 點選OK.

在這裡插入圖片描述

2, 默認出現的是雙標圖, 藍色的線為地點, 綠色的點為品種. 這個圖可以描述環境之間的關係(通過環境線的夾角來判斷) 在這裡插入圖片描述

2, 通過Biplot Tools可以選擇不同的型別, 比如選擇Which Won Where, 在這裡插入圖片描述

結果: 在這裡插入圖片描述

3, 豐產性和穩定性

在這裡插入圖片描述

4, 它也可以畫3D的雙標圖 在這裡插入圖片描述

使用R語言匯入資料, 進行分析

從頭匯入資料:

  • 1, 加入dat是三列的格式: 品種,地點, 產量 data下載: yan.csv, 下載資料後, 將其放在D盤根目錄下

    data 在這裡插入圖片描述

  • 2, R語言讀入資料

程式碼:

dat = read.table("d:/yan.csv",header = T, sep=",")
head(dat)

結果:

> head(dat)
  gen  env yield
1 Ann BH93 4.460
2 Ari BH93 4.417
3 Aug BH93 4.669
4 Cas BH93 4.732
5 Del BH93 4.390
6 Dia BH93 5.178

對資料進行轉化:

if (!requireNamespace("reshape2")) install.packages("reshape2")

x = reshape2::dcast(dat,gen~env)
rownames(x) = x$gen
re = x[,-1]
re

結果:

> re
     BH93  EA93  HW93  ID93  KE93  NN93  OA93  RN93  WP93
Ann 4.460 4.150 2.849 3.084 5.940 4.450 4.351 4.039 2.672
Ari 4.417 4.771 2.912 3.506 5.699 5.152 4.956 4.386 2.938
Aug 4.669 4.578 3.098 3.460 6.070 5.025 4.730 3.900 2.621
Cas 4.732 4.745 3.375 3.904 6.224 5.340 4.226 4.893 3.451
Del 4.390 4.603 3.511 3.848 5.773 5.421 5.147 4.098 2.832
Dia 5.178 4.475 2.990 3.774 6.583 5.045 3.985 4.271 2.776
Ena 3.375 4.175 2.741 3.157 5.342 4.267 4.162 4.063 2.032
Fun 4.852 4.664 4.425 3.952 5.536 5.832 4.168 5.060 3.574
Ham 5.038 4.741 3.508 3.437 5.960 4.859 4.977 4.514 2.859
Har 5.195 4.662 3.596 3.759 5.937 5.345 3.895 4.450 3.300
Kar 4.293 4.530 2.760 3.422 6.142 5.250 4.856 4.137 3.149
Kat 3.151 3.040 2.388 2.350 4.229 4.257 3.384 4.071 2.103
Luc 4.104 3.878 2.302 3.718 4.555 5.149 2.596 4.956 2.886
m12 3.340 3.854 2.419 2.783 4.629 5.090 3.281 3.918 2.561
Reb 4.375 4.701 3.655 3.592 6.189 5.141 3.933 4.208 2.925
Ron 4.940 4.698 2.950 3.898 6.063 5.326 4.302 4.299 3.031
Rub 3.786 4.969 3.379 3.353 4.774 5.304 4.322 4.858 3.382
Zav 4.238 4.654 3.607 3.914 6.641 4.830 5.014 4.363 3.111
  • 3, 然後使用GGEBiplotGUI軟體包實現
GGEBiplot(re)

結果進入視窗軟體gGEBiplotGUI:

在這裡插入圖片描述

全部程式碼:

dat = read.table("d:/yan.csv",header = T, sep=",")
head(dat)
if (!requireNamespace("reshape2")) install.packages("reshape2")
x = reshape2::dcast(dat,gen~env)
rownames(x) = x$gen
re = x[,-1]
re
GGEBiplot(re)

歡迎關注我的公眾號R-breeding R語言與育種資料分析