D de Cohen para teste t de amostra dependente


10

Pergunta rápida: Eu vi o d de Cohen calculado de duas maneiras diferentes para um teste t de amostras dependentes (por exemplo, projeto dentro das amostras testando a eficácia de um medicamento com pontos de tempo pré / pós).

  1. Usando o desvio padrão da pontuação da mudança no denominador da equação para d de Cohen.
  2. Usando o desvio padrão da pontuação do pré-teste no denominador da equação para d de Cohen.

Encontrei muito pouca literatura que delineia qual usar e / ou quando usar qualquer uma das opções.

Algum pensamento rápido?


você descobriu como calcular o d de Cohen para o teste t de amostra pareada?
user552231

@ user552231 Existem códigos R de código aberto para o D. de Cochen.
HelloWorld

Respostas:


6

Geoff Cumming tem alguns comentários sobre o assunto (extraído de Cumming, 2013 ):

s1 1sdEuffsdEuffs1 1sdEuff

spre



0

Aqui está uma função R sugerida que calcula g de Hedges (a versão imparcial do d de Cohen), juntamente com seu intervalo de confiança para o projeto entre ou dentro do sujeito:

gethedgesg <-function( x1, x2, design = "between", coverage = 0.95) {
  # mandatory arguments are x1 and x2, both a vector of data

  require(psych) # for the functions SD and harmonic.mean.

  # store the columns in a dataframe: more convenient to handle one variable than two
  X <- data.frame(x1,x2)

  # get basic descriptive statistics
  ns  <- lengths(X)
  mns <- colMeans(X)
  sds <- SD(X)

  # get pairwise statistics
  ntilde <- harmonic.mean(ns)
  dmn    <- abs(mns[2]-mns[1])
  sdp    <- sqrt( (ns[1]-1) *sds[1]^2 + (ns[2]-1)*sds[2]^2) / sqrt(ns[1]+ns[2]-2)

  # compute biased Cohen's d (equation 1) 
  cohend <- dmn / sdp

  # compute unbiased Hedges' g (equations 2a and 3)
  eta     <- ns[1] + ns[2] - 2
  J       <- gamma(eta/2) / (sqrt(eta/2) * gamma((eta-1)/2) )
  hedgesg <-  cohend * J

  # compute noncentrality parameter (equation 5a or 5b depending on the design)
  lambda <- if(design == "between") {
    hedgesg * sqrt( ntilde/2)
  } else {
    r <- cor(X)[1,2]
    hedgesg * sqrt( ntilde/(2 * (1-r)) )
  }

  # confidence interval of the hedges g (equations 6 and 7)
  tlow <- qt(1/2 - coverage/2, df = eta, ncp = lambda )
  thig <- qt(1/2 + coverage/2, df = eta, ncp = lambda )

  dlow <- tlow / lambda * hedgesg 
  dhig <- thig / lambda * hedgesg 

  # all done! display the results
  cat("Hedges'g = ", hedgesg, "\n", coverage*100, "% CI = [", dlow, dhig, "]\n")

}

Aqui está como ele pode ser usado:

x1 <- c(53, 68, 66, 69, 83, 91)
x2 <- c(49, 60, 67, 75, 78, 89)

# using the defaults: between design and 95% coverage
gethedgesg(x1, x2)

# changing the defaults explicitely
gethedgesg(x1, x2, design = "within", coverage = 0.90 )

Espero que ajude.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.