基于R语言绘制GGE双标图1

news2024/9/30 0:28:44

参考资料:

严威凯等: 双标图分析在农作物品种多点试验中的应用【作物学报】

https://cran.r-project.org/web/packages/GGEBiplots/GGEBiplots.pdf

1、安装GGEBiplots包

        目前搜索到的资料多数为“GGEBiplotGUI”安装包,但在安装时报错,如下:

后按照GGEBiplotGUI软件包如何安装?-CSDN博客中的内容进行操作,未能操作成功,故放弃安装包。

        后经过在R语言安装包的库(CRAN: Available Packages By Name)中检索,找到了GGEBiplots安装包。通过安装语言:install.packages("GGEBiplots"),可顺利安装。另外,还需安装一个gge的安装包,因为在GGEBiplots中可能会用到gge(使用gge包可以处理含有缺失值的数据)。

install.packages("GGEBiplots")
install.packages("gge")

2、加载内置案例数据

library(GGEBiplots)
library(gge)
data(Ontario)
Ontario

此数据来源于:严威凯在1993 年加拿大安大略省冬小麦区域试验的产量数据。

3、环境中心化

        环境中心化的双标图只含与品种评价有关的G和GE,而不含与品种评价无关的其他效应,因此称为“GGE双标图”。GGE双标图不仅适用于品种评价, 而且适用于试验环境(试验点)评价和品种生态区划分。GGE 双标图有一个独特的性质, 即任两环境间夹角之余弦近似等于该两环境间的遗传相关系数。这个特性被称为“余弦-相关系数等值原理”; 它是用双标图评价试验点的重要基础。

        在数量遗传和生物统计上, 这个值被称为表现型(P), 按照线性统计模型, P = M + E + G + GE; 式中 M 代表多点试验产量的总平均值, E 代表环境主效应, G 代表品种主效益, GE 代表品种-环境互作效应。其中只有G和GE 都带个“G”字, 因而与品种评价有关。

        环境中心化从两向表的每个数据减去相应环境下的平均值将去掉M和E, 形成一个环境中心化的两向表

        环境中心化的方法建议使用使用GGEBiplots自带的GGEModel()函数,即可以进行中心化操作,也可以进行标定操作。GGEModel()函数形式如下:

GGEModel(Data, centering = "tester", scaling = "none", SVP = "column")

其中:data为data.frame格式或矩阵。centering表示对数据进行中心化操作;centering默认等于tester即环境中心化(G+GE);若为global则为总均值中心化(E+G+GE);若为double则为双向中心化,若为none则表示不中心化。未经中心化处理的模型是不能进行GGEPlot作图的。scaling表示对数据进行定标,默认等于none即不定标;若为sd则表示对数据进行标准差定标。SVP通常默认为column即可。        

## 环境中心化-方法一
# 自定义函数
func1<-function(x){x-mean(x)}
# Ontario数据按列减去对应的均值
Ontario.ec<-apply(Ontario,2,func1)
Ontario.ec

## 方法二
# 在计算GGE模型时,使用GGEBiplots自带的GGEModel()函数

GGE1<-GGEModel(Ontario,
               centering = "tester",
               scaling="none",
               SVP="column")
# 同GGE1<-GGEModel(Ontario)

4、“哪个赢在哪里”功能图

        此图按照品种-环境的相互关系来对试验点分组并揭示各组内最高产的品种。图中的多边形由连接同一方向上距离原点最远的品种而成;它把所有品种都框在其内。由原点发出的射线是对多边形各边的垂线。

# 哪个赢在哪里功能图
WhichWon(GGE1)

        9 个试验点被分为两组,OA93和KE93为一组, 其他 7 个试验点为另一组。这种功能图有一个有趣而重要的特性,各区内位于多边形顶角上的品种恰好是本区内各环境下名义上最高产的品种。本例中,品种zav在试验点OA93和KE93 最高产, 是“赢家”, 品种fun 在另 7 个试验点最高产, 是“赢家”。

        此图所展示的最高产品种因地区而异的现象称为交叉性互作(crossover GE)。它的存在是划分品种生态区的重要依据。

5、“环境间关系”功能图

        环境间关系功能图可用于直观分析各试验点之间在品种评价上的相似性。图中连接原点和各环境的直线称为“向量”。向量的长度和向量间的夹角都有生物学上的解释。两环境向量间夹角的余弦近似于它们之间的遗传相关系数。夹角小于90°表示正相关,大于90°表示负相关,接近90°表示无相关。正相关说明两环境对品种的排序相似;负相关说明两环境对品种的排序相左

        无相关或负相关意味着可能存在不同品种生态区紧密正相关则意味着有一些试验点可能是重复设置的;去掉一些试验点可以减少试验成本而不影响对品种的评价。

        在GGEModel()函数中scaling的设置为none时,环境向量的长度是试验点对品种区分能力的度量,向量越长,对品种的区分能力越强

# 环境间关系功能图
EnvRelationship(GGE1)

       此图中,多数试验点之间存在正相关,如EA93、BH93、HW93、ID93之间的相关性以及WP93和NN93之间的相关性都相对比较紧密。少数试验点之间的相关性存在复相关,如RN93和OA93。在品种的区分能力方面,OA93和KE93对品种的区分能力明显强于其他试验点,RN93的品种区分能力最弱。

6、“区分力和代表性”功能图

        理想的试验地点应当具备两个条件, 一是对参试品种有较强的区分能力, 二是对目标生态区有较强的代表性。GGE 双标图之“区分力和代表性”功能图专为直观评价试验点的这两个方面而设计。图中箭头的位置代表“平均环境”。它的位置取决于各试验环境坐标的平均值。我们用这个平均环境来代表目标环境。带箭头的直线通过双标图的原点和平均环境,称为平均环境向量或平均环境轴(Average Environment Axis 或 AEA)。如上所述, 各试验点向量的长度是其区分能力的度量。而试验点向量与平均环境向量的角度是其对目标环境的代表性的度量。角度越小, 代表性越强。角度越大, 代表性越弱。如果一个试验点与平均环境向量的夹角是钝角, 则它不适合作为试验点。

        平均环境轴箭头所指方向是对试验点区分力和代表性两方面的综合评价,没有区分能力的试验点是无用的。有区分能力但没有代表性的试验点可用于淘汰不稳定的品种, 但不能用于选择优良品种。只有既有区分力又有代表性的试验点才能用来有效地选择高产稳产的品种。

# 区分力和代表性功能图
DiscRep(GGE1)

        此图中,就区分力而言,试验点OA93和KE93的区分力最好。就代表性而言,试验点BH93的代表性最好,其次是:EA93、HW93和ID93这三个试验点。本例中没有与平均环境向量呈钝角的试验点向量,即本例中没有不适合的试验点。

7、“高产性和稳产性”功能图

        在特定品种生态区内, 理想的品种应当既高产又稳产。GGE 双标图之“高产性和稳产性”功能图专为同时了解品种的高产性和稳产性而设计。带单箭头的直线是平均环境轴。它所指的方向是品种在所有环境下的近似平均产量与平均环境轴垂直并通过原点的、带有双箭头的直线代表各品种与各环境相互作用的倾向性; 箭头向外指向较大的不稳定性,越偏离平均环境轴越不稳定。

        另外需要注意:稳产性或稳定性只在与高产相结合时才有意义。品种评价必须针对特定的品种生态区才有意义。因此, 高产性和稳产性这一功能图应当在所有试验点属于同一品种生态区时使用。

        与前3个功能图不同,本功能图是基于聚焦品种的特征值分配(SVP ="row"), 因为这里关注的焦点是品种(品种位于行上,试验点位于列上)。在前 3 个功能图中采用了聚焦环境的特征值分配(SVP = "column"), 因为研究的焦点是试验点。对特征值分配的选择不影响“哪个赢在哪里”的模式和结论。

# 高产性和稳定性功能图
GGE2<-GGEModel(Ontario,SVP="row")
MeanStability(GGE2)

        本图中,就产量而言,品种的产量沿着平均环境轴的箭头方向是逐渐增大的,所以:fun的平均产量最高,其次是cas、har、zav,依次类推。就品种的稳定性而言,高产的fun产量稳定性较差,而产量位于第二的cas稳定性很好,可以说是既高产又稳产的品种。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【独家原创】基于APO-Transformer-LSTM多特征分类预测(多输入单输出)Matlab代码

【独家原创】基于APO-Transformer-LSTM多特征分类预测&#xff08;多输入单输出&#xff09;Matlab代码 目录 【独家原创】基于APO-Transformer-LSTM多特征分类预测&#xff08;多输入单输出&#xff09;Matlab代码分类效果基本描述程序设计参考资料 分类效果 基本描述 [24年最…

【初阶数据结构题目】11.相交链表

相交链表 点击链接做题 思路&#xff1a; 如何判断链表是否相交找相交链表的起始节点 遍历两个链表&#xff0c;若尾结点相同&#xff0c;则链表一定相交。两个链表节点个数相同&#xff1a;往后遍历&#xff0c;找到相交的位置两个链表节点个数不同&#xff1a; 找两个链表的…

End-to-End Object Detection with Transformers(Detection Transformer)翻译

摘要 我们提出了一种新方法&#xff0c;将目标检测视为直接的集合预测问题。我们的方法简化了检测流程&#xff0c;有效消除了对许多手工设计组件的需求&#xff0c;如非极大值抑制过程或锚框生成&#xff0c;这些组件显式编码了我们对任务的先验知识。新框架称为检测变换器&a…

Meta Reality Labs:巨额亏损背后的挑战与展望

一、财务概况 自2020年以来,Meta的Reality Labs部门累计亏损已超过450亿美元,其中2023年的亏损达到160亿美元,2024年第一季度亏损38亿美元,分析师预计第二季度亏损可能接近50亿美元。尽管投入巨大,Reality Labs的收入却呈现下降趋势,与不断增加的支出形成鲜明对比。 二…

QT使用V4L2摄像头采集数据

前言 之前我们已经实现了摄像头用V4L2框架采集一张图片&#xff0c;现在就是实现用摄像头采集视频流&#xff08;本质一张图片就是一帧&#xff0c;很多张图片就是很多帧&#xff0c;拼起来就是一个视频&#xff09;。 本部分需要大家有一点QT相关的知识&#xff0c;整体框架还…

CSP 2020 第三题:表达式

牛客网题目 题目内容&#xff1a; 示例1 输入 x1 x2 & x3 | 3 1 0 1 3 1 2 3输出 1 1 0题意&#xff1a; 给出后续表达式&#xff0c;需要计算这个表达式的值&#xff0c;并让某几个变量值取反&#xff0c;再输出新的表达式的值&#xff08;变量改变均为临时的&#xff…

基于Orangepi全志H616学习Python3

目录 一、功能需求 二、Python的安装和环境搭建 三、Python的基础学习 3.1 Python的特点&#xff1a; 3.2 编写并运行第一个Python程序&#xff1a; 3.3 标识符&#xff1a; 3.4 关键字&#xff1a; 3.5 注释&#xff1a; 3.6 行与缩进&#xff1a; 3.7 多行语句&…

虚拟机(CentOS7)安装jenkins

centos7安装jenkins 前提条件&#xff0c;安装jdk与maven 1、JDK17安装 # 进入系统管理员 sudo root # 进入对应文件夹下 cd /usr/local # 下载jdk17 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm # rpm命令安装下载的jdk17 rpm -ivh jdk-17_li…

从根儿上学习spring 七 之run方法启动第四段(1)

图1 一步一步我们转眼间来到了第四部分&#xff0c;这是spring最核心的部分包含了bean的整个生命周期过程&#xff0c;不过大家不用担心如果内容过长我会分多个小节来说明以防止一篇文章让大家看晕看累难以吸收理解。让我们直接进入正题。 我们先进入图1的refreshContext方法看…

PEX实验

一、kickstart自动安装脚本制作 1.关闭本机dhcp服务 2.安装图形化生成kickstart自动安装脚本的工具 3.配置http服务 下载httpd 启动并挂载 3.启动图形制作工具 system-config-kickstart 4.配置ks.cfg 5.拷贝到/var/www/html/中去 6.浏览器测试 配置dhcp服务 测试 二.搭建pex…

【JVM基础11】——垃圾回收-说一下JVM的分代回收?

目录 1- 引言&#xff1a;分代回收1-1 什么是分代回收&#xff08;What&#xff09;1-2 为什么要用分代回收&#xff1f;&#xff08;Why&#xff09; 2- ⭐核心&#xff1a;分代回收工作机制2-1 工作机制2-2 MinorGC、Mixed GC、FullGC的区别是什么 3- 总结3-1 说一下 JVM 的分…

【Java 第三篇章】注释、数据类型、运算符

一、注释 Java 中的注释有三种方式&#xff1a;单行注释、多行注释、文档注释。 1、单行注释语法 // 这是单行注释2、多行注释 /** 这是多行注释*/3、文档注释 /*** 这是文档注释*/二、数据类型 Java 中有 8 中基本数据类型&#xff0c;分别为&#xff1a;整型&#xff08;b…

数据结构实验报告-排序

桂 林 理 工 大 学 实 验 报 告 一、实验名称 实验8 排序 二、实验内容&#xff1a; 分别采用直接插人排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序等排序算法对简单的整型数组进行排序,并输出排序结果。 源码&#xff1a;#include <iostre…

分享一个简单线性dp

我们可以o(n^2)&#xff0c;枚举每一个布告&#xff0c;然后从后往前枚举i前面的位置&#xff0c;然后状态转移 void solve() {int n;cin >> n;vector<int> a(n 1);for (int i 1; i < n; i) cin >> a[i];vector<int> f(n 1, 0x3f3f3f3f);f[0] …

【分隔链表】python刷题记录

R3-双指针&#xff08;快慢指针&#xff09; 新建两个链表 一个链表记录<x的值 一个链表记录>x的值 拼接即可 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next ne…

C语言 | Leetcode C语言题解之第322题零钱兑换

题目&#xff1a; 题解&#xff1a; int coinChange(int* coins, int coinsSize, int amount) {int dp[coinsSize1][amount1];for(int i0;i<coinsSize;i){for(int j0;j<amount;j){dp[i][j]INT_MAX-1;//初始化值为INT_MAX-1&#xff0c;避免后续加一导致溢出}}for(int i0;…

Python | Leetcode Python题解之第321题拼接最大数

题目&#xff1a; 题解&#xff1a; class Solution:def maxNumber(self, nums1: List[int], nums2: List[int], k: int) -> List[int]:m, n len(nums1), len(nums2)maxSubsequence [0] * kstart, end max(0, k - n), min(k, m)for i in range(start, end 1):subsequen…

语言无界,沟通无限:2024年好用在线翻译工具推荐

随着技术的发展现在的翻译在线工具从基础词句翻译到复杂的文章翻译都不在话下。为了防止你被五花八门的工具挑花眼&#xff0c;我给你介绍几款我用过的便捷、高效、准确的翻译工具吧。 1.福晰翻译端 链接直通&#xff1a;https://www.foxitsoftware.cn/fanyi/ 这个软件支持…

Google上架:8月份政策改动,未在8月31日前回应做出改动的包体将会有下架的风险

谷歌一直以用户为中心的服务思想,政策一直在变动,未及时变动的包体又下架甚至封号的风险,如有以下情况,请及时检查包体或账号相关问题,希望能给各位开发者带来帮助。 截止提交时间 2024-08-31 支付相关要求变动公布日期改动须知更改要求垃圾应用包体与用户体验公布日期改动…

LinuxC++(9):进程

linux信号 linux信号单指给进程发送的信息。比如killall 就是杀死进程&#xff0c;其实这个描述并不准确&#xff0c;应该是给程序发送一个信号&#xff0c;让程序自我了断&#xff0c;并不是我们亲自动手。 为什么直接杀死进程不好&#xff1f; 因为直接杀死进程&#xff0…