【R】SSR分子标记结果转化为0,1数据矩阵
2022年了,没想到还需要将SSR分子标记的数据转化为0,1数据进行处理分析。毕竟现行农业品种鉴定标准还是使用SSR标记进行分析【落泪,何时可以踏入SNP或重测序领域】。
目的:将分子量数值转化为二元型的0,1数据矩阵。分子量数值举例:80/80、120/124、50/56等。不同大小的片段数据,主要针对SSR分子标记对个体基因型的鉴定。
解决思路:使用R对数据进行处理。原始数据读取→分析分子标记等位变异数n→将其转化为0,1数据矩阵。
解决方法:
1. 原始数据读取。
数据如下。每一行为一个个体的单倍型,每一列为同一分子标记在不同个体中的等位变异。其中包含缺失数据"?/?"

2.提取每一列的数据,进行位点统计并转化。
R中直接查看数据是这种类型的。

输出的txt格式文件内容为:

*这里有个问题就是直接输出.csv格式,数据前方的0会消失,修改成文本格式也调不出来。不过因为是中间工程文件,也没有什么大关系。
3.最后的数据转化。

等待后续分析……
添加一个自动运行该R文件的bat文本。
*加一个pause看运行情况,注意运行路径不可有中文。
局限性:
1.本代码不适用于同一个体一个标记处三个等位变异。→若同一标记处含三个等位变异则需在function中再添加一个变量,后边依次修正。
总结:
一开始忘记加载dplyr包,使用filter清洗数据一直NA报错,后边才发现。标记等位基因个数的统计卡壳了将近一周。菜狗落泪。
————————————————————————————————————————
*上边代码注释太多,容易抄错,放上简洁一点的。

