是否有任何R包可以计算多等位基因位点如HLA-A的所有等位基因的比值比和相对风险?我知道我可以逐个为每个等位基因做,但如果有任何包,知道会有所帮助。或者,如果任何人都可以建议小代码,它也会有所帮助
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)。
如果我们采取第一行,2x2列联表将是
Allele control case
1. A*01 116 17
2. Others 295 55
注意:其他人拥有所有其他剩余行的总和。现在让我们创建2x2列联表:
M2 <- matrix(c(55,17, 295, 116), nrow = 2)
colnames(M2) <- c("Cases", "Controls")
rownames(M2) <- c("Others", "A*01")
然后使用镶嵌包中的orr fun计算优势比和相对风险:orr(M2,conf.level = 0.95, quiet = FALSE)
我想要的是每行与所有其他剩余行的相同计算。如果我不清楚,请告诉我
答案 0 :(得分:1)
这构建了一个二项式模型。为了获得比值比,人们可以将系数表示为指数。将+0
添加到公式意味着没有参考水平,然后您可以获得相对于“预期”或Null值为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