动物数据中,对于大部分性状,一个个体只有一个观测值,直接用表型值进行后续的分析即可。
对于纵向数据(比如不同胎次的产仔数,不同时期的剪毛量),对于一般的GLM模型,MLM模型,需要用平均值或者BLUE值作为表型值。
现在也有软件可以分析纵向数据的GWAS,比如宁超老师开发的软件(http://www.chaoning.org/Softwares/)
对于植物数据,特别是随机区组的数据,一年多点的数据,一个基因型ID对应多个表型值,这些表型值如何利用呢?
用平均值是可以的,但是使用BLUE值或者BLUP值的更多:
https://blog.csdn.net/yijiaobani/article/details/94712751
整体而言,BLUP值会想均值收缩(shrinkage), 虽然结果是最佳预测, 但是校正值的方差变小, 当你做GWAS时, 不容易找到显著性位点,增加了噪音(noise)。而且在GWAS中,品种是作为随机因子,如果你使用BLUP值,相当于进行了两次收缩(shrinkage)。因此, 比较好的方式是,在one-stage中,将地点,年份,区组作为随机因子,将品种作为固定因子,计算BLUE值。
数据分析中,一定要检查异常值,常见的异常值:
13.4写成了:134 13.4 写成了:13..4
这些可以通过判断数据的类型,R中的str
函数,如果一列数据判断为了字符,那就需要注意下是否有数字编码错误。
另外,就是进行汇总统计,看一下最大值,最小值,平均值,中位数,看一下数据的分布是否正常。
对于小数点标错,可以更正的更正一下。对于数据异常,可以找一下原始的数据记录,确认一下数据是否录入错误。
对于不可更正的异常值,将其作为缺失。
这个标准,有时候会用,但不是必须使用,一般不使用。数据量少时,更应该谨慎使用。可以做一下GWAS的对比,看一下删除与否的效果。检测三倍标准差的R代码,参考:
A <- rnorm(1000,0,1)
outlier_above <- which(A > mean(A) + 3*sd(A))
outlier_below <- which(A < mean(A) - 3*sd(A))
上面代码,会过滤出三倍标准差之外的数据,然后挑选出来,再决定是否要删除。
对于数量性状,稍微偏态的数据也是可以接受的。
一般不进行公式转换,因为结果不好解释。
从调查数据开始,要严格要求,怎么强调都不为过,尽量亲身参与。
质控数据要谨慎,删除数据要谨慎。
多做几次分析,根据结果,权衡一下不同的方案!GWAS分析效果好坏重点是看QQ图
•缺失数据可视化•直方图•箱线图
最后,祝大家元宵节快乐,阖家幸福!