Pruebas estadísticas en BioRender Graphing: métodos, comprobaciones de supuestos y paquetes R Pruebas estadísticas en BioRender Graphing: métodos, comprobaciones de supuestos y paquetes R

Pruebas estadísticas en BioRender Graphing: métodos, comprobaciones de supuestos y paquetes R

A continuación, encontrará los paquetes, funciones y métodos específicos utilizados para cada prueba. Para mayor transparencia, todos los cálculos se realizan con R (versión 4.5.1)

Tabla de contenidos

  1. Lista de paquetes R
  2. Comprobaciones de supuestos estadísticos
  3. Prueba t de una muestra (y pruebas no paramétricas)
  4. Prueba t de dos muestras (y pruebas no paramétricas)
  5. ANOVA de un factor (y pruebas no paramétricas) y pruebas de comparaciones múltiples
  6. ANOVA de dos factores y pruebas de comparaciones múltiples
  7. Correlación
  8. Regresión logística
  9. Curvas dosis-respuesta
  10. Análisis de supervivencia

Todos los paquetes R

  • R versión 4.5.1
  • afex versión 1.3-1
  • dplyr versión 1.2.1
  • effsize versión 0.8.1
  • emmeans versión 1.10.1
  • httr2 versión 1.0.0
  • jsonlite versión 1.8.4
  • lme4 versión 1.1-37
  • logger versión 0.2.2
  • multcomp versión 1.4-20
  • nlraa versión 1.9.3
  • OptimModel versión 2.0-3
  • PMCMRplus versión 1.9.6
  • readr versión 2.1.5
  • rjson versión 0.2.21
  • rstatix versión 0.7.1
  • survival versión 3.8-3
  • tictoc versión 1.1
  • tidyr versión 1.3.0
  • uuid versión 1.2-0

Comprobaciones de supuestos estadísticos

Nuestra plataforma ejecuta automáticamente pruebas para verificar los supuestos esenciales para cada tipo de análisis. Sugerimos opciones de análisis preseleccionadas basadas en estos resultados. Al pasar el cursor sobre las etiquetas 'sugeridas' en la aplicación, se muestran detalles sobre estas recomendaciones.

Prueba de normalidad de Shapiro-Wilk

La prueba t paramétrica y el ANOVA tienen el supuesto subyacente de que su conjunto de datos sigue una distribución normal (curva de campana estándar).

Ejecutamos la prueba de normalidad de Shapiro-Wilk en segundo plano para verificar si su conjunto de datos viola este supuesto.

Si la prueba de Shapiro-Wilk (p > 0.05) no puede rechazar la hipótesis de normalidad, recomendamos pruebas paramétricas (por ejemplo, prueba t).

Si la prueba de Shapiro-Wilk (p ≤ 0.05) indica que los datos no se distribuyen normalmente, transformamos los datos internamente con logaritmo y probamos de nuevo. Si la prueba posterior sugiere que los datos están distribuidos normalmente en el espacio logarítmico, recomendamos pruebas paramétricas sobre los datos transformados con logaritmo (por ejemplo, prueba t lognormal).

Si ambas pruebas de Shapiro-Wilk rechazan la hipótesis de normalidad, sugerimos alternativas no paramétricas (por ejemplo, prueba U de Mann-Whitney).

Esta comprobación utiliza la función shapiro_test de rstatix.

Prueba de Levene para igualdad de varianzas

La prueba t paramétrica y el ANOVA tienen el supuesto subyacente de que la varianza en las observaciones de diferentes grupos en sus datos es aproximadamente la misma.

Ejecutamos la prueba de Levene para igualdad de varianzas para verificar si su conjunto de datos viola este supuesto.

Si las varianzas difieren, recomendamos la corrección de Welch para acomodar varianzas desiguales en pruebas t o ANOVA.

Esta comprobación utiliza la función levene_test de rstatix.

Usamos la configuración por defecto, que aplica la mediana como centro de cada grupo para una prueba más robusta.


Prueba t de una muestra (y pruebas no paramétricas)

Una prueba t de una muestra determina si la media de una única muestra difiere significativamente de un valor conocido o hipotetizado. Asume que los datos provienen de una población con distribución normal.

Prueba t de una muestra

Usamos una implementación personalizada en base R que calcula el estadístico t directamente como (media_muestra − μ) / (DE / √n) usando pt y qt del paquete stats para valores p y valores críticos respectivamente. Los grados de libertad son n − 1. Los intervalos de confianza se calculan sobre la diferencia (media_muestra − μ): para una prueba bilateral, diferencia ± qt(1 − α/2, gl) × EE; para pruebas unilaterales, el IC es [diferencia − qt(nivel_conf, gl) × EE, Inf] o [−Inf, diferencia + qt(nivel_conf, gl) × EE]. El tamaño del efecto d de Cohen se reporta como (media_muestra − μ) / DE.

Prueba t de razón de una muestra (lognormal)

Cuando se espera que los datos sigan una distribución lognormal, la prueba t de razón evalúa si la media geométrica difiere de un valor positivo hipotetizado. La prueba transforma logarítmicamente tanto los datos como el valor hipotetizado, realiza la prueba t personalizada idéntica en escala logarítmica y transforma los resultados de nuevo. La media geométrica, la DE geométrica y la razón respecto al valor teórico se devuelven en la escala original, junto con intervalos de confianza para la razón y la media geométrica.

Prueba de Wilcoxon de una muestra (rangos con signo)

La alternativa no paramétrica para comparaciones de una muestra. Usamos wilcox.test del paquete stats con exact = NULL, dejando que base R seleccione el método exacto o asintótico. La bandera p_value_exact se establece en TRUE cuando el número de diferencias no nulas n_nz < 50 (estrictamente) y no hay empates en las diferencias, reflejando el comportamiento esperado según la lógica interna de R. Se aplica una aproximación normal con corrección de continuidad en caso contrario (correct = TRUE).

La pseudo-mediana de Hodges–Lehmann se reporta como estimador de localización: es la mediana de todos los promedios Walsh por pares (x_i + x_j) / 2 para i ≤ j (incluyendo pares idénticos i = j) calculados sobre el vector original de valores — este es el estimador H-L de la mediana poblacional. También se devuelven la estadística V (suma de rangos positivos con signo) y las sumas separadas de rangos positivos y negativos.


Prueba t de dos muestras (y pruebas no paramétricas)

Las pruebas de dos muestras comparan un resultado continuo entre dos grupos. BioRender ofrece pruebas t paramétricas (asumiendo normalidad) y alternativas no paramétricas que no hacen suposiciones de distribución, junto con variantes lognormales para datos donde las razones, en lugar de las diferencias, son el efecto relevante.

Todas las pruebas paramétricas de dos muestras usan t_test del paquete rstatix, y todas las pruebas no paramétricas usan wilcox_test del mismo paquete. Los tamaños del efecto para pruebas paramétricas se calculan con cohen.d del paquete effsize. Tenga en cuenta que t_test de rstatix calcula la diferencia como nivel1 − nivel2 (orden alfabético); BioRender invierte el signo del estadístico t y de los IC para reportar nivel2 − nivel1 (coincidiendo con la convención de GraphPad Prism), y los valores p unilaterales se recalculan a partir del estadístico invertido usando pt para asegurar que se use la cola correcta.

Prueba t de dos muestras no apareadas (Student)

t_test(..., var.equal = TRUE). Asume varianzas iguales; usa una desviación estándar combinada de ambos grupos. El error estándar combinado es DE_combinada × √(1/n₁ + 1/n₂). El d de Cohen se calcula con cohen.d(y, x, paired = FALSE).

Prueba t de dos muestras no apareadas con corrección de Welch (también llamada prueba t de Welch)

t_test(..., var.equal = FALSE). No asume varianzas iguales; usa la aproximación de Welch para grados de libertad (Satterthwaite). El error estándar es √(s₁²/n₁ + s₂²/n₂). El d de Cohen se calcula con cohen.d(y, x, paired = paired) del paquete effsize, donde paired es el argumento de la función (por defecto FALSE).

Prueba U de Mann-Whitney (prueba de suma de rangos de Wilcoxon)

wilcox_test(..., paired = FALSE). Comparación no paramétrica de dos muestras independientes. Se calculan las estadísticas U₁ y U₂ a partir de las sumas de rangos: U₁ = R₁ − n₁(n₁+1)/2 y U₂ = R₂ − n₂(n₂+1)/2, donde R₁ y R₂ son las sumas de rangos para cada grupo. La estadística U reportada es min(U₁, U₂).

Prueba t apareada

t_test(..., paired = TRUE). Los sujetos están emparejados entre las dos condiciones; la prueba se realiza sobre las diferencias dentro de cada par. El d de Cohen para diseños apareados usa la fórmula intra-sujetos: |media(x − y)| / √(DE₁² + DE₂² − 2r·DE₁·DE₂), donde r es la correlación de Pearson entre las dos condiciones. También se devuelve el coeficiente de correlación de Pearson y su valor p.

Prueba de rangos con signo de Wilcoxon para pares apareados

wilcox_test(..., paired = TRUE). Equivalente no paramétrico de la prueba t apareada. Se devuelven la suma de rangos positivos con signo, la suma de rangos negativos con signo y la suma total de rangos con signo W. La bandera p_value_exact se establece en TRUE cuando el número de pares es menor que 50 y no hay empates en las diferencias, reflejando el comportamiento esperado según la lógica interna de rstatix. También se devuelve el coeficiente de correlación por rangos de Spearman y su valor p entre las dos condiciones.

Variantes lognormales (de razón)

Cuando los datos siguen una distribución lognormal, el interés está en la razón de medias geométricas en lugar de la diferencia de medias aritméticas. Para pruebas no apareadas y de Welch, todos los valores se transforman con logaritmo natural y se ejecuta la correspondiente t_test en escala logarítmica. Las medias geométricas se transforman inversamente como exp(media(log(valores))). Siguiendo la convención nivel2 − nivel1, media_geométrica1 corresponde al segundo grupo en orden alfabético y media_geométrica2 al primero; la razón reportada es media_geométrica1 / media_geométrica2. Los intervalos de confianza para la razón se obtienen invirtiendo e intercambiando los límites del IC en escala logarítmica: conf_bajo_razón = exp(−conf.alto_log), conf_alto_razón = exp(−conf.bajo_log). Para la prueba lognormal apareada, también se calcula el d de Cohen en escala logarítmica; además se devuelven la media, DE y error estándar de la media de las diferencias logarítmicas, y la correlación de Pearson en los datos logarítmicos.


ANOVA de un factor (y pruebas no paramétricas) y pruebas de comparaciones múltiples

El ANOVA de un factor evalúa si las medias de tres o más grupos difieren significativamente. BioRender soporta medidas independientes, medidas repetidas y variantes de efectos mixtos, así como alternativas no paramétricas y ANOVA lognormal.

ANOVA clásico de un factor

Implementado mediante aov_car del paquete afex. Los contrastes se establecen en suma cero (contr.sum) durante el análisis y se restauran al salir. Tipo de suma de cuadrados: Se usa la suma de cuadrados tipo II solo para diseños balanceados independientes de un factor (todos los grupos con igual n y sin factor de medidas repetidas). Se usa la suma de cuadrados tipo III para todos los demás casos: diseños no balanceados, medidas repetidas y todos los diseños multifactoriales independientemente del balance. El tamaño del efecto se reporta como eta-cuadrado generalizado (ges) de la tabla ANOVA de afex.

ANOVA de un factor con corrección de Welch (también llamado ANOVA de Welch)

welch_anova_test de rstatix. Una prueba F que no asume igualdad de varianzas entre grupos, usando un ajuste de Welch–Satterthwaite para los grados de libertad del denominador. Reporta la estadística W y los grados de libertad del numerador/denominador.

ANOVA lognormal

Los valores se transforman con log₁₀ y se ejecuta classic_anova sobre los datos transformados. Las estadísticas F, valores p y grados de libertad son invariantes a la base del logaritmo; las sumas de cuadrados y medias cuadráticas se reportan en escala log₁₀ para coincidir con GraphPad Prism.

Prueba de Kruskal-Wallis

kruskal_test de rstatix. Análogo no paramétrico del ANOVA de un factor. Reporta la estadística H y el valor p.

Pruebas post-hoc de comparaciones múltiples

Las pruebas post-hoc se ejecutan tras un ANOVA significativo para identificar qué pares de grupos difieren.

  • Prueba de comparaciones múltiples de Tukey usa medias marginales estimadas de emmeans y contrastes pareados ajustados con Tukey vía pairs(..., adjust = "tukey"). Se devuelven intervalos de confianza y estadísticos t para cada comparación pareada.
  • Prueba de comparaciones múltiples de Bonferroni usa el mismo marco de emmeans con pairs(..., adjust = "bonferroni"). El valor t crítico para el IC es qt(0.05 / (2 × k), gl), donde k es el número de comparaciones.
  • Prueba de Dunnett (un control vs. todos los demás) usa glht de multcomp con mcp(categories = "Dunnet"). El grupo control se reordena a la posición de referencia antes del ajuste; los intervalos de confianza se extraen vía confint(glht_result).
  • Prueba Games–Howell (post-hoc para varianzas desiguales) usa games_howell_test de rstatix. La función rstatix aplica internamente un factor √0.5 al error estándar combinado; BioRender lo elimina dividiendo por √0.5 (equivalente a multiplicar por √2) para coincidir con la formulación convencional.
  • Prueba Dunnett T3 (para varianzas desiguales) usa dunnettT3Test de PMCMRplus. Los grados de libertad pareados se calculan con la fórmula de Welch–Satterthwaite aplicada a cada par individual. Los valores críticos se derivan de la distribución t multivariada vía qmvt.
  • Prueba de Dunn (no paramétrica, sigue a Kruskal–Wallis) usa dunn_test de rstatix con ajuste de valor p Bonferroni para todas las comparaciones pareadas. Cuando se especifica un grupo control, solo se devuelven comparaciones que involucren al control, y la corrección Bonferroni usa el tamaño de familia Dunnett (k − 1 comparaciones) en lugar de k(k−1)/2.

ANOVA de dos factores y pruebas de comparaciones múltiples

El ANOVA de dos factores evalúa los efectos de dos factores categóricos y su interacción sobre un resultado continuo. BioRender usa la misma función classic_anova que el ANOVA de un factor, extendida para incluir una segunda columna de factor en el marco de datos.

  • Suma de cuadrados: Siempre se usa tipo III para ANOVA de dos factores (balanceado o no), que evalúa cada efecto tras considerar todos los demás. Los contrastes se establecen en contr.sum (suma cero) como requiere la suma de cuadrados tipo III.
  • Tamaño del efecto se reporta como eta-cuadrado generalizado (ges) para cada efecto principal y para el término de interacción.
  • Medidas repetidas: Se soporta ANOVA de dos factores con medidas repetidas mediante la misma infraestructura aov_car / afex. Se calcula la prueba de esfericidad de Mauchly para factores intra-sujetos. Se puede aplicar corrección de Greenhouse–Geisser a efectos que violen la esfericidad.
  • Modelo de efectos mixtos: Cuando los datos de medidas repetidas tienen observaciones faltantes, se usa un modelo de efectos mixtos (vía lme4::lmer), siempre o solo al detectar faltantes, según la opción missing_value_handling.

Las pruebas post-hoc para ANOVA de dos factores usan las mismas funciones que para ANOVA de un factor (Tukey, Bonferroni, Dunnett, Dunnett T3, Games–Howell) pero operan sobre las medias de las celdas de interacción vía emmeans. Los prefijos de nivel de factor que emmeans añade a niveles numéricos se eliminan de las etiquetas de contraste antes de devolver resultados, y los nombres de columnas de factores intra-sujetos con prefijos añadidos por afex (por ejemplo, Xfactor1) se corrigen a sus nombres originales.


Correlación

El análisis de correlación cuantifica la asociación lineal (Pearson) o monótona (Spearman) entre dos variables continuas y prueba si esa asociación difiere de cero.

Usamos cor.test del paquete stats. Los valores perdidos se manejan mediante eliminación por pares. Se requieren al menos cuatro observaciones completas.

Correlación de Pearson

cor.test(x, y, method = "pearson") devuelve el coeficiente de correlación de Pearson r, un estadístico t con n − 2 grados de libertad, un valor p bilateral y intervalos de confianza exactos al 95% (vía transformación z de Fisher, que R aplica internamente).

Correlación de Spearman

cor.test(x, y, method = "spearman") devuelve el coeficiente de correlación por rangos de Spearman ρ (rho). Se usa la distribución exacta por permutación cuando no hay valores empatados y n ≤ 50 (exact = TRUE); de lo contrario, se usa la aproximación normal asintótica. Como cor.test de R no devuelve intervalos de confianza para Spearman, se aproximan los IC al 95% vía transformación z de Fisher: z = 0.5 × ln((1 + ρ) / (1 − ρ)), EE = 1 / √(n − 3), y los límites del IC se transforman inversamente a la escala de correlación.

Visualización

Independientemente de si se selecciona correlación de Pearson o Spearman, la línea de predicción y la banda de confianza al 95% mostradas en el diagrama de dispersión se derivan de una regresión lineal simple (lm) ajustada a los datos, sobre 100 puntos equiespaciados en el rango observado de x, mediante predict(model, interval = "confidence", level = 0.95).

Regresión lineal simple

La regresión lineal simple modela la relación entre un predictor continuo único y un resultado continuo como una línea recta.

Usamos lm del paquete stats: lm(dependiente ~ independiente). Hay una opción para restringir la ordenada al origen a cero mediante lm(dependiente ~ 0 + independiente).

Los coeficientes de pendiente e intercepto, sus errores estándar, estadísticos t y valores p se extraen directamente de summary(model)$coefficients. El IC al 95% para cada coeficiente es estimación ± qt(0.975, df.residual(model)) × EE. La intersección con el eje x se calcula como −β₀ / β₁.

El error estándar de la estimación (Sy.x) es √(SC_residuos / (n − 2)) para el modelo sin restricción, o √(SC_residuos / (n − 1)) cuando se fuerza el intercepto a cero, coincidiendo con la convención de GraphPad Prism.

La significación global del modelo se evalúa con una prueba F: pf(F, gl1, gl2, lower.tail = FALSE) usando la estadística F de summary(model)$fstatistic.

Se devuelve una curva ajustada con banda de confianza al 95% sobre 250 puntos equiespaciados que abarcan el rango observado del predictor, mediante predict(model, interval = "confidence").


Regresión logística

La regresión logística modela el logaritmo de las probabilidades (log-odds) de un resultado binario como una función lineal de uno o más predictores. BioRender ofrece tres variantes: simple (un predictor), múltiple (varios predictores) y regresión logística penalizada de Firth para muestras pequeñas o desequilibradas.

Todos los modelos de regresión logística usan glm del paquete stats con family = binomial(link = "logit") y maxit = 100 (el valor por defecto de 25 puede devolver silenciosamente una iteración no convergida en datos con casi separación). Antes del ajuste, el servicio verifica separación cuasi-completa (probabilidades ajustadas numéricamente 0 o 1) y evalúa si se recomienda la penalización de Firth basada en la detección de separación, bajo número de eventos por variable (EPV) o tasas de eventos raros.

Regresión logística simple

Ajusta un único predictor continuo o binario: glm(dependiente ~ independiente, family = binomial(link = "logit")).

Los intervalos de confianza para los coeficientes se calculan en la escala de log-odds usando verosimilitud perfilada vía confint, con retroceso automático a IC de Wald si el perfilado falla. Las razones de probabilidades y sus IC al 95% se obtienen exponenciando las estimaciones y límites de confianza de los coeficientes.

Se reporta el valor de X para probabilidad predicha del 50% (donde el log-odds es cero, es decir, X = −β₀/β₁) con un IC al 95% derivado por el método delta.

La bondad de ajuste se evalúa con una prueba de razón de verosimilitud contra el modelo nulo (solo intercepto). Se reportan estadísticas de bondad de ajuste como R² de Tjur, R² de Cox–Snell, el AUC de la curva ROC (calculado mediante un algoritmo vectorizado basado en rangos) y AICc. Se devuelven probabilidades predichas y banda de confianza sobre el rango observado del predictor (250 puntos de la cuadrícula) para graficar; la banda se calcula con IC de Wald en la escala logit y se transforma inversamente vía plogis.

Regresión logística penalizada de Firth

Cuando se detecta separación perfecta o cuasi-completa, o cuando el EPV es bajo (menos de ~10 eventos por predictor), las estimaciones de máxima verosimilitud son infinitas o están sesgadas severamente. En estos casos, BioRender ajusta el modelo de verosimilitud penalizada de Firth (Firth 1993; Heinze & Schemper 2002), que añade una penalización de Jeffreys a la log-verosimilitud para producir estimaciones finitas y menos sesgadas.

El modelo de Firth se ajusta usando una implementación IRLS personalizada. La convergencia se evalúa conjuntamente con tres criterios: max|Δβ| < 1e-8 (cambio máximo en parámetros L∞), max|U*(β)| < 1e-5 (valor máximo absoluto del vector de puntuación modificado, es decir, norma L∞ del score), y |ΔL*| < 1e-5 (cambio en la log-verosimilitud penalizada).

Los intervalos de confianza se calculan vía verosimilitud perfilada penalizada usando una función personalizada firth_profile_ci(). Para cada parámetro, los demás se reoptimizan en cada candidato β mediante IRLS con restricciones. Se usa una expansión de intervalo por pasos de duplicación (comenzando en max(SE×3, 1.5), duplicando hasta un límite duro de 50 en escala log-odds) para localizar un intervalo con cambio de signo, luego uniroot() (método Brent) encuentra la raíz. Si no se encuentra intervalo, el límite se reporta como NA y ci_fallback_used = TRUE.

Las estadísticas de bondad de ajuste incluyen R² de Tjur, R² de Cox–Snell, R² de McFadden, desviancia penalizada (-2 × L*), desviancia penalizada nula y AICc (calculado desde la log-verosimilitud no penalizada).


Curvas dosis-respuesta

Las curvas dosis-respuesta modelan la relación sigmoidal entre un estímulo (concentración, dosis) y una respuesta (inhibición, estimulación). BioRender ajusta por defecto el modelo logístico de cuatro parámetros (4PL); las variantes de tres y cinco parámetros son casos especiales.

Modelo de cuatro parámetros (4PL)

La ecuación logística de cuatro parámetros es:

  • Inhibición (log x): y = bottom + (top − bottom) / (1 + 10^((log_IC50 − x) × hill_slope))
  • Inhibición (x lineal): y = bottom + (top − bottom) / (1 + (IC50 / x)^hill_slope)
  • Estimulación (x lineal): y = bottom + (top − bottom) × x^hill_slope / (x^hill_slope + EC50^hill_slope)

Los cuatro parámetros libres son: bottom (respuesta mínima), top (respuesta máxima), hill_slope (coeficiente de Hill) y EC50/IC50 (concentración en el punto medio entre bottom y top).

Modelo de tres parámetros (3PL)

Equivalente al 4PL con la pendiente de Hill restringida: hill_slope = −1 para inhibición, hill_slope = +1 para estimulación. Los demás parámetros permanecen libres.

Modelo logístico de cinco parámetros (5PL)

Extiende el 4PL añadiendo un factor de asimetría S:

  • Log x: y = bottom + (top − bottom) / (1 + 10^((log_EC50 − x) × hill_slope))^S
  • x lineal (inhibición): y = bottom + (top − bottom) / (1 + (EC50/x)^hill_slope)^S

Cuando S = 1, el 5PL se reduce al 4PL. S se inicializa en 1 y se estima libremente. Nota: el parámetro log_EC50 en la fórmula 5PL es el punto de inflexión de la curva. Cuando S ≠ 1, el EC50 verdadero difiere y se calcula aplicando la corrección: log_EC50_real = log_inflexión − log10(2^(1/S) − 1) / hill_slope.

Procedimiento de ajuste

Todos los modelos se ajustan usando nls del paquete stats. Los valores iniciales se derivan de los datos: bottom y top se inicializan con las medias mínimas y máximas observadas por grupo; EC50/IC50 se inicializa por interpolación lineal al punto medio en y; hill_slope se inicializa a ±1 según la dirección de los datos.

Se prueba primero el algoritmo PORT (nl2sol) (algorithm = "port"), ya que soporta restricciones de límites y evita el fallo "minFactor" que el algoritmo Gauss-Newton predeterminado encuentra en el eje del perfil EC50. Si PORT falla y no hay límites de usuario activos, se intenta una llamada de reserva nls() sin algoritmo explícito (por defecto Gauss-Newton). Cualquier restricción de parámetro especificada por el usuario se pasa como vectores lower / upper a nls; la pendiente de Hill se limita adicionalmente a ±50 para evitar divergencia, con su signo fijado para coincidir con la dirección de los datos.

Los intervalos de confianza para parámetros ajustados se calculan vía verosimilitud perfilada usando confint(fit). Si el perfilado falla (por ejemplo, gradiente singular), se usa una aproximación de Wald: estimación ± qt(0.975, df_residual) × EE. EC50/IC50 y su IC se reportan tanto en escala log₁₀ como en la escala original de concentración.

También se puede calcular una concentración personalizada (EC_x o IC_x en un porcentaje de respuesta especificado por el usuario). Para inhibición, EC_x = EC50 × ((1/fracción − 1))^(1/hill_slope); para estimulación, EC_x = EC50 × (fracción / (1 − fracción))^(1/hill_slope). El IC al 95% para la concentración personalizada se aproxima propagando el error relativo del IC de EC50.

Se reportan estadísticas de bondad de ajuste R² (1 − SC_res / SC_tot), suma residual de cuadrados, Sy.x (error estándar residual) y grados de libertad. Las bandas de confianza sobre cuadrículas lineales y logarítmicas de concentración (250 puntos cada una) se calculan mediante el método delta numérico: la fórmula del modelo se diferencia numéricamente respecto a cada parámetro para construir el Jacobiano J, luego EE(ŷ) = √(J' × vcov(fit) × J) y la banda es ŷ ± t_{0.975, gl} × EE(ŷ). Si el método delta falla, la banda se reduce a estimaciones puntuales solamente.


Análisis de supervivencia

El análisis de supervivencia modela el tiempo hasta un evento de interés (por ejemplo, muerte, recaída) teniendo en cuenta observaciones censuradas—sujetos que no han experimentado el evento al final del seguimiento.

Todos los análisis de supervivencia usan funciones del paquete survival.

Curvas de Kaplan–Meier

Las curvas de supervivencia Kaplan–Meier se estiman con survfit usando conf.type = "log-log" (transformación log-log complementaria de la función de supervivencia), que es el método usado por GraphPad Prism y es más adecuado para probabilidades de supervivencia cercanas a 0 o 1 que el método log simple predeterminado. Los grupos se ordenan según la primera aparición en los datos para asegurar que el orden de las curvas coincida con la entrada.

El tiempo mediano de supervivencia y su IC al 95% se extraen con quantile(km_fit, probs = 0.5). La curva se extiende hasta el tiempo máximo observado en cada grupo (incluso si ese tiempo solo contiene observaciones censuradas) para que la función escalonada graficada no se trunque prematuramente.

Prueba log-rank

La prueba log-rank compara distribuciones de supervivencia entre grupos bajo la hipótesis nula de riesgos proporcionales. Usamos survdiff con rho = 0. La estadística chi-cuadrado se evalúa con (número de grupos − 1) grados de libertad.

Prueba de Gehan–Breslow–Wilcoxon

Alternativa a la prueba log-rank que da mayor peso a los puntos temporales tempranos. Esta prueba se implementa como una estadística chi-cuadrado ponderada personalizada (no vía survdiff). En cada tiempo de evento t, se aplica un peso w_t = N_t (número en riesgo). El vector de puntuación es Z_j = Σ_t N_t (d_jt − e_jt) y la matriz de varianza-covarianza usa varianza hipergeométrica con términos N_t² aplicados. La estadística de prueba χ² = Z' V⁻¹ Z se evalúa con K−1 grados de libertad (descomposición de Cholesky; pseudoinversa QR como respaldo).

Razones de riesgos

Se proporcionan dos métodos para estimar la razón de riesgos en comparaciones pareadas de grupos.

Método logrank: Usa la razón observado-esperado HR = (O₁/E₁) / (O₂/E₂), donde O y E se obtienen de la salida survdiff log-rank. El error estándar de ln(HR) es √(1/E₁ + 1/E₂), dando IC al 95% de exp(ln(HR) ± 1.96 × EE). Esto coincide con la razón de riesgos "logrank" de GraphPad Prism.

Método Mantel–Haenszel: Usa la fórmula L = (O₁ − E₁) / V, HR = exp(L), con IC al 95% de exp(L ± 1.96 / √V), donde V es la varianza de (O₁ − E₁) bajo la hipótesis nula, tomada de survdiff$var[1,1] de una prueba log-rank pareada. Esto coincide con la razón de riesgos "Mantel–Haenszel" de GraphPad Prism (Machin, Cheung & Parmar; Vaeth).

Regresión de riesgos proporcionales de Cox

La regresión PH de Cox se ajusta con coxph. En modo autodetección, el método para empates se selecciona automáticamente: "exact" cuando no hay tiempos de evento empatados, y "efron" cuando hay empates; el método de empates también puede especificarse explícitamente. Los intervalos de confianza para razones de riesgos se calculan mediante una función personalizada de verosimilitud perfilada (compute_profile_ci_cox()), que rastrea la superficie de verosimilitud perfilada para encontrar el límite del IC en lugar de depender de la aproximación Wald.

El supuesto de riesgos proporcionales se prueba usando cox.zph, que ajusta residuos escalados de Schoenfeld contra el tiempo y reporta un valor p global y por covariable; un valor p pequeño sugiere que la razón de riesgos cambia con el tiempo, violando el supuesto PH.

Correcciones por comparaciones múltiples

Cuando se comparan tres o más grupos y se selecciona un método de corrección, los valores p de pruebas pareadas se corrigen para comparaciones múltiples. Los métodos disponibles son Bonferroni y Benjamini–Hochberg (tasa de descubrimiento falso), ambos aplicados vía p.adjust, y Holm–Šídák, que se implementa con un procedimiento escalonado personalizado.

 

What's new →
Discover more in BioRender
 
 BioRender AI

Draft custom figures in seconds from a text prompt.

Learn more → Browse help articles →
 
 Graphing

Turn raw data into journal-quality graphs in minutes.

Learn more → Browse help articles →

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 14 de 16