Eccoci. Questa e’ la funzione che calcola l’intervallo di confidenza per la differenza di proporzioni correlate, usando Wald.

# Wald Z method
ci_wald <- function(tab,alpha,continuity_correction=TRUE) {
  
  A <- tab[1]
  B <- tab[3]
  CC <- tab[2]
  D <- tab[4]
  
  N <- sum(tab)
  
  correction <- 0*(1-continuity_correction)+1/N*continuity_correction
  
  estimated_difference <- (B-CC)/N
  
  estimated_difference_variance <- ((A+D)*(B+CC)+4*B*CC)/N^3
  
  estimated_difference + c(-1,1)*(qnorm(1-alpha/2)*sqrt(estimated_difference_variance)+correction)
  
}

Come input richiede una tabella/matrice. Con i numeri che mi hai dato abbiamo

results_table <- matrix(c(379,20,10,140),
              nrow=2,ncol=2,
              byrow=TRUE)
results_table
##      [,1] [,2]
## [1,]  379   20
## [2,]   10  140

dove, usando la notazione interna della funzione, \(A=379, B=20, CC=10\), e \(D=140\).

Scegliendo un livello di confidenza del 90%, ad esempio, applicando la funzione otteniamo

ci <- ci_wald(tab=results_table,alpha=0.1)

ci
## [1] 3.307418e-05 3.639680e-02

Arrotondando a 4 decimali, per maggiore chiarezza, l’intervallo di confidenza al 90% risulta essere (0, 0.0364).

Se non ricordo male avevi indicato un \(\delta=0.07\) (7%). L’intero intervallo stimato per la differenza si trova al di sotto di questa soglia, dunque, se la stanchezza del venerdi’ non mi tradisce, questo indicherebbe evidenza a sostegno della non-inferiorita’, al livello di significativita’ indicato (\(\alpha=0.10\)).