[R-meta] Correlation between two continuous outcome
Viechtbauer, Wolfgang (NP)
wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Mon Apr 29 13:54:00 CEST 2024
Dear Ishtiaq,
Thanks for providing the data. Some of the variables got mixed up though, so I am assuming that the 'study_label' variable is actually 'ncon' (or maybe ncon and nexp are mixed up now, but I'll leave that up to you to sort out):
dat <- structure(list(ncon = c(32L, 34L, 34L, 12L, 21L, 22L, 15L, 15L,
11L, 12L, 24L), nexp = c(16L, 17L, 17L, 12L, 22L, 21L, 15L, 15L, 12L, 11L,
24L), ncon = c("PCP-intensity", "NPS(0-10)", "NPS(0-10)", "VAS(0-10)",
"VAS(0-10)", "VAS(0-10)", "VAS(0-10)", "VAS(0-10)", "VAS(0-10)", "VAS(0-10)",
"NRS(0-10)"), Int_mean = c(-7.32, -3.91, -3.12, -3.37, -0.42, -1.09, -3.69,
-6.41, -4.04, -5.29, -0.25), Int_sd = c(4.26, 1.489, 1.42, 2.45, 2.66, 2.44,
2.41, 1.73, 2.18, 2.19, 0.72), Con_mean = c(-3.87, -1.91, -2.19, -1.54, -1.45,
-0.2, -3.15, -4.22, -4.26, -2.67, 0.08), Con_sd = c(6.12, 1.56, 1.51, 2.63,
2.45, 2.44, 2.14, 2.31, 2.52, 2.11, 1.04), BDNF = c("ng/ml", "ng/ml", "ng/ml",
"ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/mL"),
Intmean = c(0.89, -15.76, -15.27, 38.07, -1.56, -1.32, -6.94, -15.2, 3.23,
3.18, 14.58), Intsd = c(18.98, 32.42, 35.77, 21.39, 5.17, 6.22, 36.6, 32.39,
16.75, 30.43, 25.96), Conmean = c(0.94, -10.99, -3.77, 25.68, -1.23, -0.52,
-1.42, 0.49, 2.23, -7.27, -7.86), Consd = c(19.19, 27.43, 31.46, 10.69, 3.97,
5.56, 32.29, 31.27, 13.1, 37.32, 26.06)), class = "data.frame", row.names =
c("Ali et al., 2022", "Mustafaoglu et al., 2024", "Rustem et al., 2024",
"Dall’Agnol et al., 2014", "de Paula et al., 2023", "Lao et al., 2023",
"Graca-Tarragó et al., 2019", "Fatif et al., 2019", "Medeiros et al., 2016",
"Ahmed et al., 2016", "Zhao et al., 2019"))
dat
First, I would compute the effect sizes for each outcome in the same dataset:
## For pain
dat <- escalc(measure="SMD", n1i=nexp, m1i=Int_mean, sd1i=Int_sd,
n2i=ncon, m2i=Con_mean, sd2i=Con_sd,
data=dat, var.names=c("yi.p","vi.p"))
## ForBDNF
dat <- escalc(measure="SMD", n1i=nexp, m1i=Intmean, sd1i=Intsd,
n2i=ncon, m2i=Conmean, sd2i=Consd,
data=dat, var.names=c("yi.b","vi.b"))
Then we can reshape the dataset into a long format:
dat <- reshape(dat, direction="long",
varying=list(c("yi.p","yi.b"), c("vi.p","vi.b")),
v.names=c("yi","vi"), timevar="outcome",
times=c("pain","bdnf"), idvar="study")
dat <- dat[order(dat$study),]
rownames(dat) <- NULL
dat
The two effect sizes are not independent, since they are measured in the participants. Therefore, one should compute the covariance between the SMD for pain and the MD for BDNF within studies. In essence, this covariance depends on the correlation between pain and BDNF. Since this is presumably not reported within the studies, you could 'guestimate' this correlation and construct the var-cov matrix of the effect sizes with:
V <- vcalc(vi, data=dat, cluster=study, obs=outcome, rho=<correlation>)
where <correlation> needs to be replaced with this guestimate.
Then one could fit a bivariate model to these data with:
res <- rma.mv(yi, V, mods = ~ 0 + outcome, random = ~ outcome | study, struct="UN", data=dat)
res
This part of the output gives the estimated correlation between the treatment effect for pain and the treatment effect for BDNF:
rho.bdnf rho.pain bdnf pain
bdnf 1 - 11
pain ??? 1 no -
where ??? will the correlation (rho).
I tried out some correlations in vcalc() above, but unless one uses a fairly *negative* correlation, the estimate of rho drifts to -1.
I can't really help further beyond this, but at least the code above shows that this is in essence application of the bivariate/multivariate meta-analysis approach as illustrated here:
https://www.metafor-project.org/doku.php/analyses:berkey1998
Best,
Wolfgang
> -----Original Message-----
> From: R-sig-meta-analysis <r-sig-meta-analysis-bounces using r-project.org> On Behalf
> Of Ishtiaq Ahmed via R-sig-meta-analysis
> Sent: Saturday, April 20, 2024 20:06
> To: Reza Norouzian <rnorouzian using gmail.com>; R Special Interest Group for Meta-
> Analysis <r-sig-meta-analysis using r-project.org>
> Cc: Ishtiaq Ahmed <Ishtiaq.Ahmed using vub.be>
> Subject: Re: [R-meta] Correlation between two continuous outcome
>
> Dear Reza,
> Thanks for your response. I want to see the correlation between them pain and
> BDNF.
>
> ##For pain
> pain <- escalc(measure = "SMD", n1i = nexp, m1i = Int_mean, sd1i = Int_sd, n2i =
> ncon, m2i = Con_mean, sd2i = Con_sd, data = dat_pain)
>
> ##ForBDNF
> bdnf <- escalc(measure = "MD", n1i = nexp, m1i = Intmean, sd1i = Intsd, n2i =
> ncon, m2i = Conmean, sd2i = Consd, data = dat_bdnf)
>
> Please find my dataset below.
>
> study_label nexp ncon Int_mean Int_sd
> Con_mean Con_sd BDNF Intmean Intsd Conmean Consd
> Ali et al., 2022 32 16 PCP-intensity -7.32 4.260 -
> 3.87 6.12 ng/ml 0.89 18.98 0.94 19.19
> Mustafaoglu et al., 2024 34 17 NPS(0-10) -3.91 1.489 -
> 1.91 1.56 ng/ml -15.76 32.42 -10.99 27.43
> Rustem et al., 2024 34 17 NPS(0-10) -3.12 1.420 -
> 2.19 1.51 ng/ml -15.27 35.77 -3.77 31.46
> Dall’Agnol et al., 2014 12 12 VAS(0-10) -3.37 2.450 -
> 1.54 2.63 ng/ml 38.07 21.39 25.68 10.69
> de Paula et al., 2023 21 22 VAS(0-10) -0.42 2.660 -
> 1.45 2.45 ng/ml -1.56 5.17 -1.23 3.97
> Lao et al., 2023 22 21 VAS(0-10) -1.09 2.440 -
> 0.20 2.44 ng/ml -1.32 6.22 -0.52 5.56
> Graca-Tarragó et al., 2019 15 15 VAS(0-10) -3.69 2.410 -
> 3.15 2.14 ng/ml -6.94 36.60 -1.42 32.29
> Fatif et al., 2019 15 15 VAS(0-10) -6.41 1.730 -
> 4.22 2.31 ng/ml -15.20 32.39 0.49 31.27
> Medeiros et al., 2016 11 12 VAS(0-10) -4.04 2.180 -
> 4.26 2.52 ng/ml 3.23 16.75 2.23 13.10
> Ahmed et al., 2016 12 11 VAS(0-10) -5.29 2.190 -
> 2.67 2.11 ng/ml 3.18 30.43 -7.27 37.32
> Zhao et al., 2019 24 24 NRS(0-10) -0.25 0.720
> 0.08 1.04 ng/mL 14.58 25.96 -7.86 26.06
>
> dat <- structure(list(study_label = c(32L, 34L, 34L, 12L, 21L, 22L, 15L, 15L,
> 11L, 12L, 24L), nexp = c(16L, 17L, 17L, 12L, 22L, 21L, 15L, 15L, 12L, 11L,
> 24L), ncon = c("PCP-intensity", "NPS(0-10)", "NPS(0-10)", "VAS(0-10)",
> "VAS(0-10)", "VAS(0-10)", "VAS(0-10)", "VAS(0-10)", "VAS(0-10)", "VAS(0-10)",
> "NRS(0-10)"), Int_mean = c(-7.32, -3.91, -3.12, -3.37, -0.42, -1.09, -3.69,
> -6.41, -4.04, -5.29, -0.25), Int_sd = c(4.26, 1.489, 1.42, 2.45, 2.66, 2.44,
> 2.41, 1.73, 2.18, 2.19, 0.72), Con_mean = c(-3.87, -1.91, -2.19, -1.54, -1.45,
> -0.2, -3.15, -4.22, -4.26, -2.67, 0.08), Con_sd = c(6.12, 1.56, 1.51, 2.63,
> 2.45, 2.44, 2.14, 2.31, 2.52, 2.11, 1.04), BDNF = c("ng/ml", "ng/ml", "ng/ml",
> "ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/ml", "ng/mL"),
> Intmean = c(0.89, -15.76, -15.27, 38.07, -1.56, -1.32, -6.94, -15.2, 3.23,
> 3.18, 14.58), Intsd = c(18.98, 32.42, 35.77, 21.39, 5.17, 6.22, 36.6, 32.39,
> 16.75, 30.43, 25.96), Conmean = c(0.94, -10.99, -3.77, 25.68, -1.23, -0.52,
> -1.42, 0.49, 2.23, -7.27, -7.86), Consd = c(19.19, 27.43, 31.46, 10.69, 3.97,
> 5.56, 32.29, 31.27, 13.1, 37.32, 26.06)), class = "data.frame", row.names =
> c("Ali et al., 2022", "Mustafaoglu et al., 2024", "Rustem et al., 2024",
> "Dall’Agnol et al., 2014", "de Paula et al., 2023", "Lao et al., 2023",
> "Graca-Tarragó et al., 2019", "Fatif et al., 2019", "Medeiros et al., 2016",
> "Ahmed et al., 2016", "Zhao et al., 2019"))
>
> Best regards,
>
> Ishtiaq Ahmed
> Ph.D. Researcher
> Faculty of Physical Education and Physiotherapy
> Department KIMA/KINE
> Vrije Universiteit Brussels
> Pleinlaan 2 - 1050 Brussel - https://www.vub.be/
>
> Pain in Motion International Research Group – http://www.paininmotion.be/
> ________________________________________
> From: Reza Norouzian <rnorouzian using gmail.com>
> Sent: Saturday, 20 April 2024 16:20
> To: R Special Interest Group for Meta-Analysis <r-sig-meta-analysis using r-
> project.org>
> Cc: Ishtiaq Ahmed <Ishtiaq.Ahmed using vub.be>
> Subject: Re: [R-meta] Correlation between two continuous outcome
>
> Hi Ishtiaque,
>
> Can you possibly share a little more specifics about the dataset you are working
> with? For example, how many studies do you have? How many of them
> simultaneously studied the effect of X intervention on both pain intensity and
> the several pain biomarkers of interest? Indeed, how many pain biomarkers do you
> have and are there any that is/are not the focus of your study?
>
> Also, if you could share the structure of your data for a couple of studies in a
> concise manner (ex. below), our list members could likely better assist you.
>
> Reza
>
> study SMD V intensity PDNF . . . last_pain_biomarkers
> 1 .6 .1 number number number
> 1 1 .2 number number number
> 1 .9 .3 number number number
> 2 .7 .2 number number number
> 2 .8 .4 number number number
>
>
> On Fri, Apr 19, 2024 at 10:30 AM Ishtiaq Ahmed via R-sig-meta-analysis
> <mailto:r-sig-meta-analysis using r-project.org> wrote:
> Hi everyone,
> I hope everyone is doing well. My understanding of correlation meta-analysis is
> limited, and I'm seeking to enhance it. Currently, I'm conducting a meta-
> analysis to assess the effect of X intervention on both pain intensity and
> several pain biomarkers (such as BDNF, beta-endorphin, etc.) as compared with
> the control. I'm particularly interested in exploring the correlation between
> pain intensity and BDNF levels, both of which are continuous variables.
> I used escalc() to calculate the standardized mean difference (SMD) for pain
> intensity, considering the varying measurement scales between the intervention
> and control groups. Additionally, I've also calculated the mean difference (MD)
> for BDNF levels using the differences between the intervention and control
> groups.
> My question is whether it's possible to convert SMD/MD to correlation
> coefficient (r) to perform the correlation meta-analysis. Alternatively, are
> there other approaches to utilizing SMD and MD for this analysis? Additionally,
> some of the studies (though not all) have provided beta-values for the
> correlation between pain intensity and BDNF. Can I incorporate these beta-values
> into the meta-analysis?
>
> I would greatly appreciate any suggestions or sources you can provide.
>
> Best regards,
> Ishtiaq Ahmed
>
> Ph.D. Researcher
> Vrije Universiteit Brussels
More information about the R-sig-meta-analysis
mailing list