3

我有两个文件:pedigree.pedpedigree.map. Plink可以使用这两种文件格式。

就我而言,我想将它们与 R 一起使用,并且我认为我必须转换为 R 格式。例如:Plink 中的缺失值与 R 中的缺失值不同。

我如何转换这两个文件以在 R 中使用它们?如何将缺失值更改为 NA?

我的数据样本:

.ped 文件:

1 1 0 0 1.02  A A   G G   0 0
1 2 0 0 0.51  T G   C C   A A
2 3 1 2 -9    0 0   A G   T T
...

第一列是 id_family,第二列是 id_individual,第三和第四列是 id_individual 的父亲和母亲,第五列是数量性状(-9:缺失值),其余列是基因型(SNPs 等位基因)。列的缺失值为 0,但数量性状为 -9。

地图文件:

1 rs1 0 100000
1 rs2 0 100100
1 rs3 0 100200

第一列是 id 染色体(1-22、X、Y 或 0,如果未放置),第二列是 rs# 或 snp 标识符,第三列是遗传距离(摩根),第四列是碱基对位置(bp 单位)

4

2 回答 2

3

假设 ped 文件中的数据被读入 R 数据帧 -

> my.dataframe
  V1 V2 V3 V4    V5 V6 V7 V8 V9 V10 V11
1  1  1  0  0  1.02  A  A  G  G   0   0
2  1  2  0  0  0.51  T  G  C  C   A   A
3  2  3  1  2 -9.00  0  0  A  G   T   T

现在检查每列的无效/缺失值并分配 NA。例如,取第 5 列 -

my.dataframe[my.dataframe[,5] == -9, 5] <- NA
> my.dataframe
  V1 V2 V3 V4   V5 V6 V7 V8 V9 V10 V11
1  1  1  0  0 1.02  A  A  G  G   0   0
2  1  2  0  0 0.51  T  G  C  C   A   A
3  2  3  1  2   NA  0  0  A  G   T   T

同样将 NA 分配给所需的条目。

注意:R 函数以特殊方式处理 NA。查看各自的函数参数。需要注意的一些相关关键字 - na.rm, na.pass,na.failna.omit

于 2013-04-06T15:36:36.943 回答
1

将 ped 文件读入 R 时定义 NA 值,例如:

read.table(text = "
1   1   0   0   1.02    A A G G 0 0
1   2   0   0   0.51    T G C C A A
2   3   1   2   -9  0 0 A G T T",
           na.strings = c("NA", "-9"), sep = "\t")

# result
#   V1 V2 V3 V4   V5  V6  V7  V8
# 1  1  1  0  0 1.02 A A G G 0 0
# 2  1  2  0  0 0.51 T G C C A A
# 3  2  3  1  2   NA 0 0 A G T T

另外,使用plink--tab时使用选项,因此列的分隔符是制表符,基因型之间的空格是空格

--tab 用制表符分隔 --recode 和 --recode12

于 2016-04-25T12:10:18.610 回答