5  Replicación en R de caso de estudio: Dasankoppa et al. (2020)

Application of Response Surface Optimization Methodology in Designing Ordispersible Tablets of Antdiabetic Drug, artículo escrito por Dasankoppa et al. (2020)

6 Artículo de estudio

El estudio de (Dasankoppa et al. 2020), Application of Response Surface Optimization Methodology in Designing Ordispersible Tablets of Antdiabetic Drug aborda la optimización de tabletas orodispersables de sitagliptina fosfato, un fármaco indicado para el tratamiento de la diabetes tipo II. Para ello, se utilizó un diseño factorial completo \(2^2\), en el que se consideraron como factores la cantidad de fosfato dicálcico (diluyente), y la cantidad de croscarmelosa sódica (desintegrante), evaluando su efecto sobre diferentes variables respuesta de las tabletas orodispersables.

Sin embargo, con fines ilustrativos para el cálculo del número de réplicas de las variables respuesta, se asumirá que los resultados corresponden a un diseño completamente aleatorizado con un solo factor (fórmula del producto) y cuatro niveles, lo que implica la comparación de cuatro tratamientos distintos. Asimismo, aunque se evaluaron diversas variables de respuesta, para este ejemplo se analizarán específicamente el índice de Carr (CARR) y el índice de absorción de agua (WATER).

Nota

Véase “Guía para la implementación de diseños experimentales en la industria farmacéutica” para una explicación detallada de los cálculos presentados.

Librerías requeridas: dplyr, flextable, car, nortest, ggplot2

7 Índice de Carr

7.1 Simulación de respuestas

El artículo de Dasankoppa et al. (2020) reporta el valor promedio de las tres réplicas junto con su desviación estándar, por lo que se requiere simular los datos individuales. Para este propósito, se construyó la función simuesblo, disponible en el archivo funciones.R del repositorio ncortes/Disexp_Industria_Farmaceutica en GitHub (funcionesR?).

Código
# Indice de carr
carr_index <- c(12.59, 13.23, 17.07, 14.93)
carr_index_sd <- c(0.130, 0.026, 0.062, 0.07)
CARR <- as.vector(simuesblo(carr_index, carr_index_sd, 2, 2)) 

Los valores simulados para el índice de Carr son: 12.52, 13.27, 17.08, 14.96, 12.56, 13.23, 17.18, 14.84

7.2 Construcción del diseño

Código
VAR <- CARR

dis <- data.frame(
  TRAT = c("T1", "T2", "T3", "T4", "T1", "T2", "T3", "T4"),
  REP = c(rep("R1", 4), rep("R2", 4)),
  CALCIO = rep(c(-1, -1, 1, 1),2),
  CROS =   rep(c(-1, 1, -1, 1),2),
  VAR)

TRAT

REP

CALCIO

CROS

VAR

T1

R1

-1

-1

12.52

T2

R1

-1

1

13.27

T3

R1

1

-1

17.08

T4

R1

1

1

14.96

T1

R2

-1

-1

12.56

T2

R2

-1

1

13.23

T3

R2

1

-1

17.18

T4

R2

1

1

14.84

Tabla 7.1: Réplicas simuladas a partir de las medias por tratamiento reportadas en Dasankoppa et al. (2020) para la variable índice de Carr

Para el cálculo del tamaño de muestra, se requiere despejar \(r\) en la siguiente ecuación:

\[\begin{equation} \frac{\phi_{\beta, \alpha}^2 * t * \sigma^2}{\sum \alpha_i^2}=r \end{equation}\]

donde,

  • \(r\) es el número de replicas.
  • \(t\) es el número de tratamientos.
  • \(\sigma^2\) corresponde a la varianza de la variable respuesta en el experimento.
  • \(\sum \alpha_i^2\) corresponde a la suma de los cuadrados de los efectos de tratamiento bajo la hipótesis alterna.

Por lo tanto, a partir de los resultados presentados en la Tabla 16.1, se calcula la diferencia del promedio de cada tratamiento con respecto al promedio general (\(\bar{y}_{..} = 14.43\) ), así:

Código
TAB <- data.frame(
  TRAT = c("T1", "T2", "T3", "T4"),
  VAR_1 = VAR[1:4], 
  VAR_2 = VAR[5:8]) %>%
  mutate(PROM = rowMeans(cbind(VAR_1, VAR_2))) %>%
  mutate(DIF = mean(VAR)-PROM)

  colnames(TAB) <- c("TRAT", "REP1", "REP2", "PROM", "DIF" )

TRAT

REP1

REP2

PROM

DIF

T1

12.52

12.56

12.54

1.915

T2

13.27

13.23

13.25

1.205

T3

17.08

17.18

17.13

-2.675

T4

14.96

14.84

14.90

-0.445

PROM: Media de cada tratamiento
DIF: Diferencia de PROM con respecto al promedio general

Tabla 7.2: Estimaciones a partir de los datos replicados para la variable índice de Car

7.3 Modelo de regresión

Código
mod <- lm(VAR ~ TRAT, data = dis)
summary(mod)

Call:
lm(formula = VAR ~ TRAT, data = dis)

Residuals:
    1     2     3     4     5     6     7     8 
-0.02  0.02 -0.05  0.06  0.02 -0.02  0.05 -0.06 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 12.54000    0.04153  301.93 7.22e-10 ***
TRATT2       0.71000    0.05874   12.09 0.000269 ***
TRATT3       4.59000    0.05874   78.14 1.61e-07 ***
TRATT4       2.36000    0.05874   40.18 2.29e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.05874 on 4 degrees of freedom
Multiple R-squared:  0.9994,    Adjusted R-squared:  0.999 
F-statistic:  2410 on 3 and 4 DF,  p-value: 5.731e-07
Nota

Pregunta: Si son 4 tratamientos, ¿por qué solo aparecen tres coeficientes?

Los coeficientes estimados del modelo representan las medias asociadas a cada tratamiento. En este caso, el (Intercept) corresponde a la media del tratamiento TRATT1, considerado como referencia. Las medias de los demás tratamientos se obtienen sumando dicho intercepto con el valor de su coeficiente.

Nota

El cuadrado medio del error se encuentra acá:

7.4 Cálculo del tamaño de muestra

Código
PHI <- 2
Trat <- 4
CME <- summary(mod)$sigma
sumalfa <- sum(TAB$DIF^2)

muestra <- (PHI^2)*Trat*CME/sumalfa

Para que el análisis de varianza ANOVA de la variable respuesta índice de Carr tenga suficiente potencia y rechace la hipótesis nula cuando corresponda, el tamaño de la muestra es 0.0753463.

8 Indice de absorción de agua

8.1 Simulación de respuestas

Código
# Radio de absorcion de agua
water_medias <- c(94.66, 95.83, 95.68, 96.17)
water_sd <- c(1.246, 2.229, 1.146, 2.557)
WATER <- as.vector(simuesblo(water_medias, water_sd, 2, 2))

Los valores simulados para el índice de absorción de agua son: 93.96, 99.3, 95.83, 97.35, 94.37, 95.99, 97.65, 92.94

8.2 Construcción del diseño

Código
VAR <- WATER

dis <- data.frame(
  TRAT = c("T1", "T2", "T3", "T4", "T1", "T2", "T3", "T4"),
  REP = c(rep("R1", 4), rep("R2", 4)),
  CALCIO = rep(c(-1, -1, 1, 1),2),
  CROS =   rep(c(-1, 1, -1, 1),2),
  VAR)

TRAT

REP

CALCIO

CROS

VAR

T1

R1

-1

-1

93.96

T2

R1

-1

1

99.30

T3

R1

1

-1

95.83

T4

R1

1

1

97.35

T1

R2

-1

-1

94.37

T2

R2

-1

1

95.99

T3

R2

1

-1

97.65

T4

R2

1

1

92.94

Tabla 8.1: Réplicas simuladas a partir de las medias por tratamiento reportadas en Dasankoppa et al. (2020) para la variable índice de absorción de agua
Código
TAB <- data.frame(
  TRAT = c("T1", "T2", "T3", "T4"),
  VAR_1 = VAR[1:4], 
  VAR_2 = VAR[5:8]) %>%
  mutate(PROM = rowMeans(cbind(VAR_1, VAR_2))) %>%
  mutate(DIF = mean(VAR)-PROM)

  colnames(TAB) <- c("TRAT", "REP1", "REP2", "PROM", "DIF" )

TRAT

REP1

REP2

PROM

DIF

T1

93.96

94.37

94.165

1.75875

T2

99.30

95.99

97.645

-1.72125

T3

95.83

97.65

96.740

-0.81625

T4

97.35

92.94

95.145

0.77875

PROM: Media de cada tratamiento
DIF: Diferencia de PROM con respecto al promedio general

Tabla 8.2: Estimaciones a partir de los datos replicados para la variable índice de absorción de agua

8.3 Modelo de regresión

Código
mod <- lm(VAR ~ TRAT, data = dis)
summary(mod)

Call:
lm(formula = VAR ~ TRAT, data = dis)

Residuals:
     1      2      3      4      5      6      7      8 
-0.205  1.655 -0.910  2.205  0.205 -1.655  0.910 -2.205 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   94.165      1.455  64.706 3.42e-07 ***
TRATT2         3.480      2.058   1.691    0.166    
TRATT3         2.575      2.058   1.251    0.279    
TRATT4         0.980      2.058   0.476    0.659    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.058 on 4 degrees of freedom
Multiple R-squared:  0.4638,    Adjusted R-squared:  0.06172 
F-statistic: 1.153 on 3 and 4 DF,  p-value: 0.43

8.4 Cálculo del tamaño de muestra

Código
PHI <- 2
Trat <- 4
CME <- summary(mod)$sigma
sumalfa <- sum(TAB$DIF^2)

muestra <- (PHI^2)*Trat*CME/sumalfa

Para que el análisis de varianza ANOVA de la variable respuesta índice de absorción de agua tenga suficiente potencia y rechace la hipótesis nula cuando corresponda, el tamaño de la muestra es 4.493189.

Dasankoppa, Fatima Sanjeri, Hasanpasha N Sholapur, Andanesh Byahatti, Zaheer Abbas, Kundu Subrata, et al. 2020. «Application of Response Surface optimization methodology in designing ordispersible tablets of antdiabetic drug». Journal of Young Pharmacists 12 (2): 173.
Volver arriba