2013-04-06 32 views
3

我有兩個文件:pedigree.pedpedigree.map。這兩種文件格式可以使用Plink將Pill PED文件中的缺失值(-9)轉換爲R時讀入R

在我的情況下,我想用它們與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等位基因)。列的缺失值爲0,數量特徵爲-9。

地圖文件:

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

第一列是id染色體(1-22,X,Y或0,如果未放置),第二RS#或SNP標識符,第三遺傳距離(莫根),以及第四是鹼基對位置(BP單位)

+0

一些樣本數據將有助於... – vaettchen 2013-04-06 12:25:06

+0

假設你成功地讀取文件成R data.frame,您可以檢查缺少值並分配NA。 – Nishanth 2013-04-06 13:35:37

+0

我該怎麼做?你能舉個例子嗎? – 2013-04-06 13:43:13

回答

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 

現在ç heck爲無效/每列丟失值&指定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函數以特殊方式對待NAs。看看各自的函數參數。一些相關的關鍵字,以觀察 - na.rmna.passna.failna.omit

1

定義NA PED讀取文件時爲R,值如:

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