guido-s / meta

Official Git repository of R package meta
http://cran.r-project.org/web/packages/meta/index.html
GNU General Public License v2.0
82 stars 32 forks source link

Cox (1970) and Cox & Snell (1989) method in the smd2or function #45

Closed yellowbridge closed 2 years ago

yellowbridge commented 2 years ago

Dear developer,

Recently, I am developing an online tool and read a Bruno's paper. It stated that " Cox and Snell’s method is computationally similar to Hasselblad and Hedges’ method, but uses a different multiplication factor. We multiplied SMDs and their standard error by 1.65 to calculate log odds ratios and the corresponding standard errors."

However, in smd2or function and or2smd function

 ## smd2or  
  if (method == "HH") {
    lnOR <- smd * pi / sqrt(3)
    selnOR <- sqrt(se.smd^2 * pi^2 / 3)
  }
  else if (method == "CS") {
    lnOR <- smd * 1.65
    selnOR <- sqrt(se.smd^2 * 1.65)
  }

  ##  or2smd 
  if (method == "HH") {
    smd <- lnOR * sqrt(3) / pi
    se.smd <- sqrt(selnOR^2 * 3 / pi^2)
  }
  else if (method == "CS") {
    smd <- lnOR / 1.65
    se.smd <- sqrt(selnOR^2 / 1.65)
  }

For CS method, the SE of lnOR is calculated by multiplying tandard error of SMD by sqrt(1.65) instead of 1.65. Is it a issue for this conversion? Thanks for your patient and Looking forward to your response.

Reference: Bruno R da Costa et.al. , Methods to convert continuous outcomes into odds ratios of treatment response and numbers needed to treat: meta-epidemiological study, International Journal of Epidemiology, Volume 41, Issue 5, October 2012, Pages 1445–1459, https://doi.org/10.1093/ije/dys124

guido-s commented 2 years ago

Thank you for pointing out this bug.