【问题标题】:Calculation Odds Ratio and Relative risk for all the alleles in multi allelic locus like HLA?计算 HLA 等多等位基因座中所有等位基因的优势比和相对风险?
【发布时间】:2016-02-26 22:31:31
【问题描述】:

是否有任何 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

注意:Others 是所有其他剩余行的总和。现在让我们创建 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)

我想要的是每行与所有其他剩余行的计算相同。如果我不清楚,请告诉我

【问题讨论】:

  • 那么您要执行的计算究竟是什么。所提供的样本数据的期望值是多少?
  • 感谢 MrFlick,我已在问题中添加了更多信息。我希望现在它说清楚了。谢谢
  • 在用户名前使用@符号,这样他们就会被ping通,就像这样:@MrFlick

标签: r statistics bioinformatics


【解决方案1】:

这将构建一个二项式模型。为了得到优势比,我们需要将系数乘以幂。将+0 添加到公式中意味着将没有参考水平,然后您将获得相对于“预期”或空值 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 

【讨论】:

  • 请查看更新后的问题,如果您能提供帮助,请告诉我。我猜你的建议与我想要的不同。不过还是谢谢。
  • 似乎相当简单,只需遍历行并进行所需的计算。对于人们来说,这可能看起来太简单了,他们可能没有承担起编写包的责任。 (更像是一项家庭作业。)另一方面,您是否搜索过 Bioconductor 包?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多