2016-02-26 58 views
0

是否有R包可以計算HLA-A等多個等位基因座所有等位基因的優勢比和相對風險?我知道我可以針對每個等位基因一個一個地做,但如果有任何包裝,它將有助於知道。或者,如果任何人都可以提出小的代碼也將有助於計算多重等位基因座HLA樣本中所有等位基因的比值比和相對風險?

Allele Control Case 

1. A*01 116 17 
2. A*02 186 30 
3. A*03  2 2 
4. A*04  1 1 
5. A*05  71 9 
6. A*11  25 8 
7. A*12  10 5 

在我想要計算比值比和相對危險度爲每個等位基因(A * 01,A * 02,A * 03上面的示例數據.. .... A * 12)。

如果我們把第一行2×2列聯表將

Allele control case 

1. A*01 116 17 
2. Others 295 55 

注:其他有其他所有剩餘行的總和。現在讓我們創建2×2列聯表:

M2 <- matrix(c(55,17, 295, 116), nrow = 2) 
colnames(M2) <- c("Cases", "Controls") 
rownames(M2) <- c("Others", "A*01") 

然後利用拼接包ORR樂趣計算比值比和相對風險:orr(M2,conf.level = 0.95, quiet = FALSE)

我想爲每個行VS其他所有剩餘行相同的計算。讓我知道如果我不清楚

+1

那麼你想要執行的計算究竟是什麼。提供的樣本數據的期望值是多少? – MrFlick

+0

謝謝MrFlick,我在這個問題中增加了更多信息。我希望現在說清楚。謝謝 –

+0

在用戶名之前使用@標誌,因此它們會被ping通,如下所示:@MrFlick – zx8754

回答

1

這建立了一個二項式模型。爲了得到優勢比,可以指出係數。在公式中添加+0意味着將不存在參考級別,然後針對每個因子級別獲取相對於「期望」或零值爲零的估計值,即案例和控件的比例相等。爲了獲得相對風險,您應該進行一些搜索以找到適當的轉換。

dat <- read.table(text="Allele Control Case 
A*01 116 17 
A*02 186 30 
A*03 2 2 
A*04 1 1 
A*05 71 9 
A*11 25 8 
A*12 10 5", head=TRUE) 

> glm(cbind(Case,Control)~Allele+0, binomial, data=dat) 

Call: glm(formula = cbind(Case, Control) ~ Allele + 0, family = binomial, 
    data = dat) 

Coefficients: 
AlleleA*01 AlleleA*02 AlleleA*03 AlleleA*04 AlleleA*05 AlleleA*11 
    -1.9204  -1.8245  0.0000  0.0000  -2.0655  -1.1394 
AlleleA*12 
    -0.6931 

Degrees of Freedom: 7 Total (i.e. Null); 0 Residual 
Null Deviance:  273.6 
Residual Deviance: 2.109e-14 AIC: 37.66 

> exp(coef(glm(cbind(Case,Control)~Allele+0, binomial, data=dat))) 
AlleleA*01 AlleleA*02 AlleleA*03 AlleleA*04 AlleleA*05 AlleleA*11 
0.1465517 0.1612903 1.0000000 1.0000000 0.1267606 0.3200000 
AlleleA*12 
0.5000000 
+0

請查看最新的問題,並告訴我您是否可以提供幫助。我想你的建議與我想要的不同。不過謝謝。 –

+1

似乎相當簡單,只需循環遍歷行並進行所需的計算即可。對人們來說,這似乎太簡單了,他們可能沒有把它寫在包裝上。 (而不是像家庭作業一樣)。另一方面,你有沒有搜索Bioconductor軟件包? –

相關問題