Analise dados Luciana

Sobre este documento

Este documento refere-se à análise do ensaio clínico registrado no clinical trials sob número NCT02357693 (url https://clinicaltrials.gov/ct2/results?term=NCT02357693&Search=Search ).

Cálculo do tamanho da amostra

library("TrialSize")
#group size
gs=TwoSampleProportion.NIS(alpha=0.05,beta=0.2,p1=0.45,p2=0.30,k=1,delta=0.28,margin=0)
#Ceiling
gs=ceiling(gs)
#Sample size (sum of 2 groups)
ss=gs*2
# Print calculated sample size
print(ss)
## [1] 74
#Considering 15% loss
ss=ss*1.15
print(ss)
## [1] 85.1
# Comando para abrir dados no computador em que foi analisado
# Para achar o texto do endereço do arquivo no seu computador, localize usando file.choose() na linha de comando e troque o endereço abaixo pelo endereço no seu computador.
#
#file.choose()
#"C:\\Users\\Documents\\gabriel\\projetos\\Pesquisa\\luciana\\bd85_2.csv"
#
#endereco="C:\\Users\\Documents\\gabriel\\projetos\\Pesquisa\\luciana\\bd85_2.csv"
#lui=read.csv(endereco,header=T)

# Define NVPO como nausea ou vomito
#sabendo que todos os que vomitaram em nossa amostra apresentaram náusea, o comando é resumido a:
lui$nvpo=lui$nausea

# Todos os pacientes com quebra de protocolo foram marcados na coluna "excluido" da planilha de dados como "S" enquanto aqueles que permaneceram foram marcados como "N".
# O comando a seguir seleciona o subgrupo de análise por protocolo (sem considerar os excluídos)
lu=subset(lui,lui$excluido=="N")

Grupos

#Os comandos a seguir criam subgrupos para a droga A e para a droga B. Os terminados em "i" são os subgrupos por intenção de tratar.
grupoA=subset(lu,lu$Grupo=="A")
grupoB=subset(lu,lu$Grupo=="B")
# por intenção de tratar
grupoAi=subset(lui,lui$Grupo=="A")
grupoBi=subset(lui,lui$Grupo=="B")

# O comando a seguir calcula o valor p do teste exato de fisher para saber se houve mais exclusão em um dos grupos.
print(fisher.test(lui$excluido,lui$Grupo)[1])
## $p.value
## [1] 0.6040054

Análise do desfecho principal

Descrição

# NVPO no grupo A por intenção de tratar
table(grupoAi$nvpo)
## 
## FALSE  TRUE 
##    23    14
# NVPO no grupo A por protocolo
table(grupoA$nvpo)
## 
## FALSE  TRUE 
##    19    13
# NVPO no grupo B por intenção de tratar
table(grupoBi$nvpo)
## 
## FALSE  TRUE 
##    36     5
# NVPO no grupo B por protocolo
table(grupoB$nvpo)
## 
## FALSE  TRUE 
##    29     5

Por protocolo

#No grupo A:
#Risco de NVPO de quem recebeu droga A = P(nvpo, grupoA) / (p(nvpo, grupoA)+p(sem nvpo, grupoA))
RanA=sum(grupoA$nvpo,na.rm=T) / (sum(grupoA$nvpo,na.rm=T) + sum(grupoA$nvpo==F,na.rm=T))
print(RanA)
## [1] 0.40625
#No grupo B:
#Risco de NVPO de quem recebeu droga B = P(nvpo, grupoB) / (p(nvpo, grupoB)+p(sem nvpo, grupoB))
RanB=sum(grupoB$nvpo,na.rm=T) / (sum(grupoB$nvpo,na.rm=T) + sum(grupoB$nvpo==F,na.rm=T))
print(RanB)
## [1] 0.1470588
#Risco relativo do grupo A em relação ao grupo B: R(nvpo no grupo A) / R(nvpo no grupo B)
# = RanA / RanB =
RRAB=RanA/RanB
print(RRAB)
## [1] 2.7625
#Teste de hipótese, teste Exato de Fisher
print(fisher.test(lu$Grupo,lu$nvpo)[1])
## $p.value
## [1] 0.02667492

Por intenção de tratar

#No grupo A:
#Risco de NVPO de quem recebeu droga A = P(nvpo, grupoA) / (p(nvpo, grupoA)+p(sem nvpo, grupoA))
RanA=sum(grupoAi$nvpo,na.rm=T) / (sum(grupoAi$nvpo,na.rm=T) + sum(grupoAi$nvpo==F,na.rm=T))
print(RanA)
## [1] 0.3783784
#No grupo B:
#Risco de NVPO de quem recebeu droga B = P(nvpo, grupoB) / (p(nvpo, grupoB)+p(sem nvpo, grupoB))
RanB=sum(grupoBi$nvpo,na.rm=T) / (sum(grupoBi$nvpo,na.rm=T) + sum(grupoBi$nvpo==F,na.rm=T))
print(RanB)
## [1] 0.1219512
#Risco relativo do grupo A em relação ao grupo B: R(nvpo no grupo A) / R(nvpo no grupo B)
# = RanA / RanB =
RRAB=RanA/RanB
print(RRAB)
## [1] 3.102703
#Teste de hipótese, teste Exato de Fisher
print(fisher.test(lui$Grupo,lui$nvpo)[1])
## $p.value
## [1] 0.01605179

Decrição detalhada das NVPO nos grupos

# Grupo A, total de náuseas em 24h
table(grupoA$nausea)
## 
## FALSE  TRUE 
##    19    13
# Grupo A, total de náuseas até 2h
table(grupoA$nausea.0.2h.numero)
## 
##  0  1 
## 25  1
# Grupo A, total de náuseas 2h-24h
table(grupoA$nausea.2.24h)
## 
## FALSE  TRUE 
##    20    12
# Grupo A, total de vomitos em 24h
table(grupoA$vomito)
## 
## FALSE  TRUE 
##    19    13
# Grupo A, total de vomitos até 2h
table(grupoA$vomito.0.2h)
## 
## FALSE 
##    32
# Grupo A, mediana da intensidade da náusea até 2h
median(subset(grupoA,grupoA$nausea.0.2h.numero=="1")$nausea.0.2h.intensidade,na.rm=T)
## [1] 3
# Grupo A, mediana da intensidade da náusea 2h-24h
median(subset(grupoA,grupoA$nausea.2.24h==TRUE)$nausa.intensidade,na.rm=TRUE)
## [1] 3
# Grupo A, mediana da intensidade da náusea 0h-24h
median(subset(grupoA,grupoA$nausea==TRUE)$nausa.intensidade,na.rm=TRUE)
## [1] 3
# Número de vômitos em 24h
table(grupoA$numero.de.vomitos)
## 
##  0  1  2  3  5  6 10 
## 19  6  3  1  1  1  1
# Número de pacientes que vomitou 3 ou mais vezes (vômitos graves)
sum(grupoA$numero.de.vomitos>2)
## [1] 4
# Número de pacientes com náusea grave
sum(grupoA$nausa.intensidade>7)
## [1] 2
# Grupo B, total de náuseas em 24h
table(grupoB$nausea)
## 
## FALSE  TRUE 
##    29     5
# Grupo B, total de náuseas até 2h
table(grupoB$nausea.0.2h.numero)
## 
##  0 
## 31
# Grupo B, total de náuseas 2h-24h
table(grupoB$nausea.2.24h)
## 
## FALSE  TRUE 
##    29     5
# Grupo B, total de vomitos em 24h
table(grupoB$vomito)
## 
## FALSE  TRUE 
##    33     1
# Grupo B, total de vomitos até 2h
table(grupoB$vomito.0.2h)
## 
## FALSE 
##    34
# Grupo B, mediana da intensidade da náusea até 2h
median(subset(grupoB,grupoB$nausea.0.2h.numero=="1")$nausea.0.2h.intensidade,na.rm=T)
## [1] NA
# Grupo B, mediana da intensidade da náusea 2h-24h
median(subset(grupoB,grupoB$nausea.2.24h==TRUE)$nausa.intensidade,na.rm=TRUE)
## [1] 3
# Grupo B, mediana da intensidade da náusea 0h-24h
median(subset(grupoB,grupoB$nausea==TRUE)$nausa.intensidade,na.rm=TRUE)
## [1] 3
# Número de vômitos em 24h
table(grupoB$numero.de.vomitos)
## 
##  0  3 
## 33  1
# Número de pacientes que vomitou 3 ou mais vezes (vômitos graves)
sum(grupoB$numero.de.vomitos>2)
## [1] 1
# Número de pacientes com náusea grave
sum(grupoB$nausa.intensidade>7)
## [1] NA

Análise de desfechos secundários

#P(nausea) / (p(nausea)+p(sem nausea))
RanA=sum(grupoA$nausea,na.rm=T) / (sum(grupoA$nausea,na.rm=T) + sum(grupoA$nausea==F,na.rm=T))
RanB=sum(grupoB$nausea,na.rm=T) / (sum(grupoB$nausea,na.rm=T) + sum(grupoB$nausea==F,na.rm=T))
RRAB=RanA/RanB
print(fisher.test(lu$Grupo,lu$nausea)[1])
## $p.value
## [1] 0.02667492
#P(vomito) / (p(vomito)+p(sem vomito))
RanA=sum(grupoA$vomito==T,na.rm=T) / (sum(grupoA$vomito==T,na.rm=T) + sum(grupoA$vomito==F,na.rm=T))
RanB=sum(grupoB$vomito==T,na.rm=T) / (sum(grupoB$vomito==T,na.rm=T) + sum(grupoB$vomito==F,na.rm=T))
RRABv=RanA/RanB
print(fisher.test(lu$Grupo,lu$vomito)[1])
## $p.value
## [1] 0.000176637

Descrição das características dos grupos

Grupo A - descrição

mean(grupoA$Idade,na.rm=T)
## [1] 52.03333
sd(grupoA$Idade,na.rm=T)
## [1] 14.78695
table(grupoA$sexo)
## 
## fem 
##  32
table(grupoA$asa)
## 
##  I II 
##  9 23
table(grupoA$apfel)
## 
##  3  4 
## 25  6
table(grupoA$fumante)
## 
## FALSE  TRUE 
##    31     1
table(grupoA$opioide.po)
## 
## TRUE 
##   32
table(grupoA$fenta.neuro)
## 
## FALSE  TRUE 
##    20    12
table(grupoB$suf.neuro)
## 
## FALSE  TRUE 
##    33     1
table(grupoA$mor.raqui.dose)
## 
##   0  40  80 100 120 
##  23   1   4   3   1
table(grupoA$mor.peri.dose)
## 
##   0   1 1,5   2 
##   7   1   0  22
mean(grupoA$t.cirurgia)
## [1] 360.375
mean(grupoA$cristaloide)
## [1] 2995
sd(grupoA$cristaloide)
## [1] 1050.76
mean(grupoA$coloide)
## [1] 31.25
sd(grupoA$coloide)
## [1] 122.9673
table(grupoA$vasoconstrictor)
## 
## FALSE  TRUE 
##    26     6

Grupo B - descrição

mean(grupoB$Idade,na.rm=T)
## [1] 59.08824
sd(grupoB$Idade,na.rm=T)
## [1] 12.90846
table(grupoB$sexo)
## 
## fem 
##  34
table(grupoB$asa)
## 
##  I II 
##  9 25
table(grupoB$apfel)
## 
##  3  4 
## 29  5
table(grupoB$fumante)
## 
## FALSE  TRUE 
##    33     1
table(grupoB$opioide.po)
## 
## TRUE 
##   34
table(grupoB$fenta.neuro)
## 
## FALSE  TRUE 
##    25     9
table(grupoB$suf.neuro)
## 
## FALSE  TRUE 
##    33     1
table(grupoB$mor.raqui.dose)
## 
##  0 40 80 
## 23  4  7
table(grupoB$mor.peri.dose)
## 
##   0   1 1,5   2 
##  10   1   1  21
mean(grupoB$t.cirurgia)
## [1] 414.2941
mean(grupoB$cristaloide)
## [1] 3102.941
sd(grupoB$cristaloide)
## [1] 1380.489
mean(grupoB$coloide)
## [1] 44.11765
sd(grupoB$coloide)
## [1] 189.4029
table(grupoB$vasoconstrictor)
## 
## FALSE  TRUE 
##    28     6

Outros desfechos

Grupo A - descrição de outros desfechos

table(grupoA$sedacao)
## 
## FALSE 
##    32
table(grupoA$prurido)
## 
## FALSE  TRUE 
##    22    10
table(grupoA$bradpneia)
## 
## FALSE 
##    32
table(grupoA$hipotensao)
## 
## FALSE  TRUE 
##    31     1
table(grupoA$retencaourinaria)
## 
## FALSE 
##    32
mean(grupoA$dor.repouso,na.rm=T)
## [1] 0.8666667
sd(grupoA$dor.repouso,na.rm=T)
## [1] 2.192988
mean(grupoA$dor.mov,na.rm=T)
## [1] 2.6
sd(grupoA$dor.mov,na.rm=T)
## [1] 3.328042
mean(grupoA$piordor,na.rm=T)
## [1] 2.6
sd(grupoA$piordor,na.rm=T)
## [1] 3.328042
mean(grupoA$menordor,na.rm=T)
## [1] 0.4333333
sd(grupoA$menordor,na.rm=T)
## [1] 1.278019

Grupo B - descrição de outros desfechos

table(grupoB$sedacao)
## 
## FALSE 
##    34
table(grupoB$prurido)
## 
## FALSE  TRUE 
##    27     7
table(grupoB$bradpneia)
## 
## FALSE 
##    34
table(grupoB$hipotensao)
## 
## FALSE  TRUE 
##    33     1
table(grupoB$retencaourinaria)
## 
## FALSE 
##    34
mean(grupoB$dor.repouso,na.rm=T)
## [1] 0.4411765
sd(grupoB$dor.repouso,na.rm=T)
## [1] 1.307117
mean(grupoB$dor.mov,na.rm=T)
## [1] 3.147059
sd(grupoB$dor.mov,na.rm=T)
## [1] 3.385641
mean(grupoB$piordor,na.rm=T)
## [1] 3.264706
sd(grupoB$piordor,na.rm=T)
## [1] 3.413954
mean(grupoB$menordor,na.rm=T)
## [1] 0.2352941
sd(grupoB$menordor,na.rm=T)
## [1] 0.9865404