利用R包“Phenotype”对表型值进行检查

news2024/12/23 23:56:51

首先,你需要确保你已经安装了R和RStudio(如果你想用RStudio的话)。然后,你可以按照以下步骤进行操作:

  1. 加载数据:首先,你需要加载你的表型数据。如果你的数据是以CSV、Excel等格式保存的,你可以使用read.csv()read.xlsx()等函数加载数据。
# 举例,假设你的数据是以CSV格式保存的 data <- read.csv("path/to/your/data.csv")

质量检查:一旦数据加载完成,你可以使用以下方法来进行质量检查:

head(data):查看数据的前几行,确保数据加载正确。
str(data):查看数据的结构,包括变量的类型和数量。
summary(data):获取数据的摘要统计信息,如均值、中位数、最小值、最大值等。
any(is.na(data)):检查是否有缺失值。
colSums(is.na(data)):查看每个变量中的缺失值数量。
  1. 统计分析:根据你的分析目标,你可以执行各种统计分析。比如:

    • 描述性统计:如均值、中位数、标准差等。
    • 相关性分析:使用cor()函数计算变量之间的相关系数。
    • t检验、ANOVA等:用于比较不同组之间的平均值是否存在显著差异的统计检验。
    • 线性回归、逻辑回归等:用于建立模型,探索变量之间的关系。
  2. 可视化:R语言提供了各种绘图函数,可以用来可视化数据。

    • 散点图:使用plot()函数。
    • 盒图:使用boxplot()函数。
    • 直方图:使用hist()函数。
    • 折线图、条形图等:根据数据类型选择合适的绘图方法。

举个例子,如果你想绘制两个变量之间的散点图,可以这样做:

# 绘制散点图 
plot(data$variable1, data$variable2, xlab = "Variable 1", ylab = "Variable 2", main = "Scatterplot")

这只是一个简单的例子,你可以根据你的具体需求调整绘图的参数和样式。

为了解决大规模表型数据难以处理的问题,R包"Phenotype"用于剔除表型中的异常值、计算统计指标和遗传力、绘制直方图和进行BLUP分析。

install.packages("Phenotype")

"Phenotype"一共包含4个函数,分别为"outlier"、"stat"、"histplot"和"blup"。

1.outlier:利用boxplot剔除数据中的异常值

在之前的推送中,小编教过大家使用boxplot剔除异常值。

## 加载R包
library("Phenotype")
## 加载数据
df <- read.table("brix.txt", header = T,sep = "\t")

outlier包含8个参数。sample/year/loc/rep/phe这5个参数用来设置输入文件的列名,fold指IQR前的倍数,mode设置异常值剔除模式(输入?outlier可以查看帮助文档)

"normal"表示按照样本剔除异常值

## 按照样本剔除异常值
inlier <- outlier(df, sample = "Line", loc = "Loc", rep = "Rep", year = "Year", phe = "Brix", fold = 1.5, mode = "normal")

"blup"表示根据环境型和样本剔除异常值 

## 按照环境型和样本剔除异常值
inlier <- outlier(df, sample = "Line", loc = "Loc", rep = "Rep", year = "Year", phe = "Brix", fold = 1.5, mode = "blup")

2.stat:对表型值进行常规统计

该函数可以用来计算每个材料的平均值、中位数、标准差、标准偏差和样本数量。

## 计算统计指标
stat_out <- stat(x = inlier, sample = "Sample", phe = "inlier")

3. histplot:绘制正态分布直方图并进行正态分布检验

wheatph <- read.table("wheatph.txt", header = T,sep = "\t")
inlier <- outlier(wheatph, sample = "Line", loc = "Env", rep = "Rep", phe = "DS", mode = "blup")
stat_out <- stat(x = inlier, sample = "Sample", phe = "inlier")
histplot(x = stat_out$mean,xlab = "Plant height",ylab = "Number")

 

P值是Shapiro-Wilk normality test结果,P值小于0.05代表数据不符合正态分布。

S-W检验方法:(函数shapiro.test())

也叫做W检验,一般在小样本条件下选用SW检验方法(n<50),最重要的是看p值。

> shapiro.test(iris$Sepal.Width)

        Shapiro-Wilk normality test

data:  iris$Sepal.Width
W = 0.98492, p-value = 0.1012

结果将返回3个值:

  • 数据名称(data)
  • Shapiro-Wilk统计量的值(W)
  • p值(p-value)

可以得出,p值为0.1012 > 0.05,故不拒接H0,样本服从正态分布。

4.blup:计算多年多点表型数据的BLUP值

最佳线性无偏预测(Best Linear Unbiased Prediction,简称BLUP)可以对多环境数据进行整合,去除环境效应,得到个体稳定遗传的表型。
该函数可以自动完成异常值剔除、遗传力计算和BLUP分析,共包含7个参数。sample/year/loc/rep/phe这5个参数用来设置输入文件的列名,fold指IQR前的倍数。

## 进行BLUP分析
blup_out <- blup(df, sample = "Line", loc = "Loc", rep = "Rep", year = "Year", phe = "Brix", fold = 1.5)
Heritability = 

5. 多年多点的表型值为何使用BLUE值?

一般,有两个选择,BLUE值或者BLUP值,在GWAS中大都使用的BLUE值。

BLUE和BLUP的区别:

  • BLUE值是混合线性模型中固定因子的估计效应值

  • BLUP值是混合线性模型中随机因子的估计效应值

BLUE和BLUP的代表:

  • BLUE值着重在于评估品种现在的表现

  • BLUP值着重在于预测品种将来的表现

BLUE和BLUP的方差变化

  • BLUE只是对表型值根据地点,年份进行矫正,得到的数据和原来数据尺度一样

  • BLUP值会对表型数据进行压缩

#计算多年多点的BLUE值
library(lme4)
library(emmeans)
library(data.table)
library(tidyverse)
library(asreml)

dat = fread("MaizeRILs.csv",data.table = F)
head(dat)
str(dat)

col = 1:5
dat[,col] = dat %>% select(all_of(col)) %>% map_df(as.factor)
str(dat)

参考来源:

Phenotype : 大规模表型数据处理工具 - 简书 (jianshu.com) 

R语言学习笔记一:正态性检验与判断_r语言 正态性检验-CSDN博客

为何?要用BLUE值作表型进行GWAS分析 (360doc.com)

GWAS计算BLUE值1--计算最小二乘均值(lsmeans) (360doc.com)

GWAS计算BLUE值2--LMM计算BLUE值 (360doc.com)

GWAS计算BLUE值3--LMM考虑残差异质计算BLUE值 (360doc.com)

完结篇 | GWAS计算BLUE值4--联合方差分析演示 (360doc.com)

多年多点的表型处理表型值处理BLUP和BLUE值 - 简书 (jianshu.com)

多年多点数据如何计算遗传力以及BLUP值_多年多点表型数据blup计算-CSDN博客

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

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

相关文章

vue2中如何动态渲染组件

vue2中如何动态渲染组件 动态渲染组件代码解读通过函数调用渲染组件 封装一个函数调用的二次确认弹窗如何让外部知道用户点击了取消还是确定呢&#xff1f; 思考小结 vue2 的项目中&#xff0c;main.js 文件中有一个挂载 App.vue 组件的方法&#xff1a; new Vue({name: Root,…

Python酷库之旅-比翼双飞情侣库(01)

目录 一、xlrd库的由来 二、xlrd库优缺点 1、优点 1-1、支持多种Excel文件格式 1-2、高效性 1-3、开源性 1-4、简单易用 1-5、良好的兼容性 2、缺点 2-1、对.xlsx格式支持有限 2-2、功能相对单一 2-3、更新和维护频率低 2-4、依赖外部资源 三、xlrd库的版本说明 …

Linux C语言:多级指针(void指针和const)

一、多级指针 把一个指向指针变量的指针变量&#xff0c;称为多级指针变量对于指向处理数据的指针变量称为一级指针变量指向一级指针变量的指针变量称为二级指针变量 1、二级指针变量的说明形式 <数据类型> ** <指针名> &#xff1b; 一张图理解二级指针 2、多…

intouch的报警怎么发到短信/微信上

Intouch 与 GRM_OPCGATE 通讯协议 一、安装 FS GateWay&#xff08;INTOUCH 驱动盘里有这个驱动程序&#xff0c;根目录:\INTOUCH10.0\DA Server\WW\FSG-1.5.100&#xff09; 。注&#xff1a;安装 INTOUCH 时&#xff0c;可能已同时安装了这个驱动&#xff0c;如图在下查看&am…

【Java】如何提升RocketMQ顺序消费性能?

一、问题解析 我们先来了解一下 RocketMQ 顺序消费的实现原理。RocketMQ 支持局部顺序消息消费&#xff0c;可以保证同一个消费队列上的消息顺序消费。例如&#xff0c;消息发送者向主题为 ORDER_TOPIC 的 4 个队列共发送 12 条消息&#xff0c; RocketMQ 可以保证 1、4、8 这…

ultralytics框架讲解

ultralytics简介 Ultralytics是一个开源的计算机视觉和深度学习框架&#xff0c;旨在简化训练、评估和部署视觉模型的过程。该框架提供了一系列流行的视觉模型&#xff0c;包括YOLOv5、YOLOv4、YOLOv3、YOLOv3-tiny、YOLOv5-tiny、EfficientDet、PAN、PP-YOLO等&#xff0c;并提…

西门子PLC数据 转IEC61850项目案例

1 案例说明 设置网关采集西门子PLC数据把采集的数据转成IEC61850协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换网关&#xff0c;是把一种协议转换成另外一种协议。网关可以采集西门子&#xff0c;欧姆龙&#xff0c;三菱&#xff0c;AB PLC&#xff0c;DLT6…

【Ardiuno】实验ESP32单片机完成搭建简易Web服务器功能(图文)

今天&#xff0c;小飞鱼继续来测试使用ESP32来实现简易的wifi无线web服务器功能。使用Ardiuno平台编辑器输入以下示例代码&#xff1a; #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h>const char* ssid &q…

QT安装及项目创建

一、QT安装 1、安装qt_creater 方法一&#xff1a; 镜像文件&#xff1a;在2024-6-12&#xff1a;版本已经更新到了6.7 下载地址&#xff1a;https://download.qt.io/archive/qt/ 方法二&#xff1a; 百度网盘&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1D0EmH…

ssm大学校园慈善拍卖网站-计算机毕业设计源码80891

摘要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对大学校园慈善拍卖网站等问题&#xff0c;对大…

软考-架构设计师-综合知识总结(试卷:2009~2022)(下篇)

说明 本文档对2009到2022年试卷的综合知识进行了归纳总结&#xff0c;同时对叶宏主编的《系统架构设计师教程》划分重点。 第十七章&#xff1a;通信系统架构设计 17.2 考题总结 第十八章&#xff1a;安全架构设计 18.1 重要知识点 18.2 考题总结 第十九章&#xff1a;大数据…

半导体晶圆切割之高转速电主轴解决方案

随着科技的飞速进步&#xff0c;集成电路技术已经成为了现代电子设备中不可或缺的核心组件。而在集成电路的生产过程中&#xff0c;半导体晶圆切割技术更是扮演着举足轻重的角色。这不仅关系到半导体芯片的制造成本和效率&#xff0c;更是决定了整个集成电路产业的发展速度和方…

T113跟官方教程安装docker出错

官方示例步骤&#xff1a; 会遇到网络问题&#xff0c;如图&#xff1a; 尝试直接去网上下载gpg&#xff0c;但是遇到教程后面一步也要访问该网站&#xff1a; 跳过该步骤&#xff0c;后续安装docker还会报错&#xff1a; 解决方法&#xff1a;换源&#xff0c;不必跟官方教程了…

给文件夹加密的最简单方法

安当TDE透明加密针对文件夹数据加密的保护方案主要包括以下几个方面&#xff1a; 1. 透明加密机制&#xff1a; 用户无需关心数据的加密和解密过程&#xff0c;操作文件夹时就像处理普通数据一样。加密和解密操作在后台自动进行&#xff0c;对用户和应用程序透明。 2. 高性能加…

现在转行转岗AI产品经理真的是一个好时机吗?

前言 2024年过去一半时间了。 很多朋友年初就计划转岗产品经理&#xff0c;但又苦于没有经验、知识不牢固…… 经常能看到有朋友问&#xff1a;转岗产品经理会有哪些坑要注意&#xff1f;有什么建议&#xff1f; 综合大家问得比较多的问题&#xff0c;我们发现&#xff1a;很…

GStreamer应用程序——Pads 和 capabilities(功能)

Pads 和 capabilities(功能) 正如我们在元素中看到的&#xff0c;pads是元素与外部世界的接口。来自一个的数据流元素的源pad到另一个元素的接收pad。特定类型的元素可以处理的媒体将被pad暴露能力。我们将在本章后面更多地讨论功能 &#xff08;参见pad的功能&#xff09;。 …

k8s之包管理器Helm

每个成功的软件平台都有一个优秀的打包系统&#xff0c;比如Debian、Ubuntu 的 apt&#xff0c;RedHat、CentOS 的 yum。Helm 则是 Kubernetes上 的包管理器&#xff0c;方便我们更好的管理应用。 一、Helm 的相关知识 1.1 Helm的简介 在没使用 helm 之前&#xff0c;向 kuber…

中国四大高原矢量示意图分享

我们在《中国地势三级阶梯示意图分享》一文中&#xff0c;为你分享了中国三级阶梯示意图的矢量文件。 现在&#xff0c;我们再为你分享中国四大高原的矢量示意图文件&#xff0c;你可以在文末查看文件的领取方法。 我国四大高原是如何划分的&#xff1f; 中国四大高原分别为…

【十大排序算法】桶排序

在时间的琴弦上&#xff0c;桶排序如同一曲清澈的溪流&#xff0c;将数字的芬芳温柔地分拣&#xff0c;沉静地落入各自的花瓣般的容器中。 文章目录 一、桶排序二、发展历史三、处理流程四、算法实现五、算法特性六、小结推荐阅读 一、桶排序 桶排序&#xff08;Bucket sort&…

组长:你熟悉过React,开发个Next项目模板吧,我:怎么扯上关系的?

最近工作安排我开发一个Next.js项目模板&#xff0c;心里默笑&#xff0c;React用得少得都快忘光了&#xff0c;现在得搞Next&#xff1f;虽然我曾是React的老用户&#xff0c;但转投Vue阵营已久&#xff0c;React的点点滴滴早已一干二净。 不过&#xff0c;挑战归挑战&#x…