¿Cómo calcular los intervalos de confianza para las razones impares agrupadas en el metanálisis?


9

Tengo dos conjuntos de datos de estudios de asociación de todo el genoma. La única información disponible son las proporciones impares y sus intervalos de confianza (95%) para cada SNP genotipado. Deseo generar una parcela forestal que compare estas dos razones de posibilidades, pero no puedo encontrar la manera de calcular los intervalos de confianza combinados para visualizar los efectos de resumen. Usé el programa PLINK para realizar el metanálisis con efectos fijos, pero el programa no mostró estos intervalos de confianza.

  • ¿Cómo puedo calcular tales intervalos de confianza?

Los datos disponibles son:

  • Razones impares para cada estudio,
  • Intervalos de confianza del 95% y
  • Errores estándar

Respuestas:


10

En la mayoría de los metanálisis de odds ratios, los errores estándar se basan en el log odds ratios . Entonces, ¿sabe cómo se ha estimado su (y qué métrica reflejan? o )? Dado que los se basan en el , el error estándar agrupado (bajo un modelo de efectos fijos) se puede calcular fácilmente. Primero, calculemos los pesos para cada tamaño de efecto: . Segundo, el error estándar agrupado es . Además, deje queseilog(ORi)seiORlog(OR)seilog(ORi)wi=1sei2seFEM=1wlog(ORFEM)ser el efecto común (modelo de efecto fijo). Entonces, el intervalo de confianza del 95% ("agrupado") es .log(ORFEM)±1.96seFEM

Actualizar

Como BIBB proporcionó amablemente los datos, puedo ejecutar el metanálisis 'completo' en R.

library(meta)
or <- c(0.75, 0.85)
se <- c(0.0937, 0.1029)
logor <- log(or)
(or.fem <- metagen(logor, se, sm = "OR"))

> (or.fem <- metagen(logor, se, sm = "OR"))
    OR            95%-CI %W(fixed) %W(random)
1 0.75  [0.6242; 0.9012]     54.67      54.67
2 0.85  [0.6948; 1.0399]     45.33      45.33

Number of trials combined: 2 

                         OR           95%-CI       z  p.value
Fixed effect model   0.7938  [0.693; 0.9092] -3.3335   0.0009
Random effects model 0.7938  [0.693; 0.9092] -3.3335   0.0009

Quantifying heterogeneity:
tau^2 < 0.0001; H = 1; I^2 = 0%

Test of heterogeneity:
    Q d.f.  p.value
 0.81    1   0.3685

Method: Inverse variance method

Referencias

Ver, por ejemplo, Lipsey / Wilson (2001: 114)


Muchas gracias por su respuesta. Los errores estándar se basan en el registro natural de OR Ln (ORi). Primero calculo los pesos para SE1 (0.0937) = 10.67 y para SE2 (0.1029) = 9.71. Entonces, el SE calculado bajo FEM es = 0.2215. El OR agrupado para estos SNP es = 0.7645, por lo que los intervalos de confianza del 95% son = (0.515-1.228). ¿Estoy en lo correcto ?, si lo hago, me preocupa porque cuando comparo todos los resultados en una parcela de Forest, los intervalos combinados son demasiado grandes en comparación con los originales en cada estudio = estudio 1 = IC 95% (0.63-0.91) O = 0.75, estudio 2 IC 95% (0.69-1.04) OR = 0.85. ¿Todo está bien?. Gracias
BIBB

No, desafortunadamente no. Tenga en cuenta que mi fórmula para fue incorrecta, es no . Como puede ver, el IC del 95% 'agrupado' es [0.693; 0,9092]. También me pregunto por qué su OR agrupado es diferente (0.7645 vs 0.7938). Lo siento, tengo que irme, pero vuelvo mañana ...w1/(se2)1/se
Bernd Weiss

Muchas gracias !!!, ese resultado es más consistente que el mío. El OR agrupado que le doy estaba en la salida PLINK ... ahora estoy muy preocupado por todos mis resultados de metanálisis ... Será mejor que use R.
BIBB

Incluí un enlace al libro de Lipsey / Wilson "Metanálisis práctico" (ver Referencias). Estoy un poco preocupado de que PLINK y mis resultados difieran. ¿Sabes qué metodología de metanálisis utilizan? También debe tener en cuenta que no tengo absolutamente ninguna idea sobre los "estudios de asociación de todo el genoma".
Bernd Weiss el

Gracias por la solución, me pregunto si puedo aplicar el método de metanálisis a mi problema. Lo que hago es simular una regresión induciendo algo de ruido. Ejecuto el análisis n veces (digamos que n es 500) y obtengo n OR y CI. Aquí está el enlace a la pregunta: stats.stackexchange.com/questions/206042/… . Entonces, ¿puedo implementar la función 'metagen' invocando cada registro ORs y std errs? ¿Se introdujo un sesgo con mayores valores den
Lukeg

3

En realidad, podría usar un software como METAL, que está específicamente diseñado para metanálisis en el contexto de GWA.

Es incómodo que el tintineo no dé el intervalo de confianza. Sin embargo, puede obtener el CI porque tiene el OR final (take ) y el valor (de ahí la ) para el efecto fijo.p zlog(OR)pz

El método de Bernd es aún más preciso.

Tenga en cuenta que me preocuparía más la dirección del efecto, ya que parece que solo tiene estadísticas resumidas para cada estudio, pero nada para estar seguro de cuál es el alelo OR. A menos que sepa que se hace con el mismo alelo.

cristiano


0

Este es un comentario (no tengo suficientes puntos de rep.). Si conoce el tamaño de la muestra (#casas y #controles) en cada estudio, y la razón de posibilidades para un SNP, puede reconstruir la tabla 2x2 de caso / control por a / b (donde a y b son los dos alelos) para cada uno de los dos estudios. Luego, solo puede agregar esos recuentos para obtener una tabla para el metaestudio y usar esto para calcular la odds ratio combinada y los intervalos de confianza.


Gracias por su respuesta. Desafortunadamente, no tengo las frecuencias o recuentos de alelos, los autores no mostraron estos datos, solo pusieron la ID de SNP, OR e intervalos de confianza (95%). ¡Acabo de extraer el valor de SE de cada estudio, pero ahora no puedo combinarlos (SE o CI)! ¡¡ayuda!!
BIBB

Oh, tienes razón: aquí se necesita un mayor grado de libertad. Por lo general, los autores dan el alelo freq. (a veces enterrado en supp. info.). De lo contrario, puede encontrarlo en una fuente externa como hapmap (suponiendo que el GWAS se realizó en una población similar). Otra idea: el intervalo de confianza en sí mismo puede indicarle la frecuencia del alelo. Todo lo demás es igual (tamaño de la muestra y OR), SNP con baja frecuencia de alelos. tener menos operadores en ambos grupos, por lo tanto, un intervalo de confianza más amplio. Puede probar diferentes frecuencias de alelos, calcular el intervalo de confianza para cada una y obtener las frecuencias de alelos. coincidiendo con lo que se informó
O Zuk

Intentaré hacer eso, pero mientras tanto tengo curiosidad acerca de cómo PLINK puede calcular el OR agrupado solo con estos parámetros: identificador SNP, OR Odds ratio (o BETA, etc.) y SE Error estándar de OR (o usuario- campo de peso definido). Puedes darte cuenta de que PLINK no solicitó frecuencias de alelos ... así que hay una manera de realizar esto ...
BIBB

0

Aquí hay un código para obtener CI para el metanálisis como en PLINK:

getCI = function(mn1, se1, method){
    remov = c(0, NA)
    mn    = mn1[! mn1 %in% remov]
    se    = se1[! mn1 %in% remov]
    vars  <- se^2
    vwts  <- 1/vars

    fixedsumm <- sum(vwts * mn)/sum(vwts)
    Q         <- sum(((mn - fixedsumm)^2)/vars)
    df        <- length(mn) - 1
    tau2      <- max(0, (Q - df)/(sum(vwts) - sum(vwts^2)/sum(vwts)) )

    if (method == "fixed"){ wt <- 1/vars } else { wt <- 1/(vars + tau2) }

    summ <- sum(wt * mn)/sum(wt)
    if (method == "fixed") 
         varsum <- sum(wt * wt * vars)/(sum(wt)^2)
    else varsum <- sum(wt * wt * (vars + tau2))/(sum(wt)^2)

    summtest   <- summ/sqrt(varsum)
    df         <- length(vars) - 1
    se.summary <- sqrt(varsum)
    pval       = 1 - pchisq(summtest^2,1)
    pvalhet    = 1 - pchisq(Q, df)
    L95        = summ - 1.96*se.summary
    U95        = summ + 1.96*se.summary
    # out = c(round(c(summ,L95,U95),2), format(pval,scientific=TRUE), pvalhet)   
    # c("OR","L95","U95","p","ph")
    # return(out)

    out = c(paste(round(summ,3), ' [', round(L95,3), ', ', round(U95,3), ']', sep=""),
            format(pval, scientific=TRUE), round(pvalhet,3))
    # c("OR","L95","U95","p","ph")
    return(out)
}

Llamando a la función R:

getCI(log(plinkORs), plinkSEs)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.