簡體   English   中英

讀入R時,在Plink PED文件中將缺失值(-9)轉換為NA

[英]Convert missing values (-9) to NAs in a Plink PED file when reading into R

我有兩個文件: 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:是缺失值),其余列是基因型(SNP等位基因)。 除了數量特征是-9之外,列的缺失值是0。

地圖文件:

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

第一列是id染色體(1-22,X,Y或0,如果未放置),第二列是rs#或snp標識符,第三列是遺傳距離(morgans),第四列是鹼基對位置(bp單位)

假設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.rmna.passna.failna.omit等。

將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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM