Comment below

On 13/04/2015 20:46, Antonello Preti wrote:
Hi, this is another quesite related to the use of 'metafor' for calculation
of standardized mean change in pre-post design studies.
Essentially, my aim is to compare different method to arrive at the same
conclusion: Does the treatment work?

The Cochrane manual advise not to calculate change score:

"9.4.5.2  Meta-analysis of change scores

In some circumstances an analysis based on changes from baseline will be
more efficient and powerful than comparison of final values,
as it removes a component of between-person variability from the analysis.
However, calculation of a change score requires measurement of the outcome
twice
and in practice may be less efficient for outcomes which are unstable or
difficult to measure precisely,
where the measurement error may be larger than true between-person baseline
variability.
Change-from-baseline outcomes may also be preferred if they have a less
skewed distribution than final measurement outcomes.
Although sometimes used as a device to ‘correct’ for unlucky randomization,
this practice is not recommended.

The preferred statistical approach to accounting for baseline measurements
of the outcome variable
is to include the baseline outcome measurements as a covariate in a
regression model or analysis of covariance (ANCOVA)".


As I read Cochrane this is a comment about which data you should extract from the primary studies if you have a choice. It is not a recommendation to you the meta-analyst about how you subsequently conduct the meta-analysis of the extracted data.

My question is: how do include both baseline (experimental and control
group)  in the analysis as a covariate in 'metafor'?
So, far, this is what I did.
I kinly request some help tp add the baseline as covariate to comply with
the Cochrane suggestion-
How can I add the baseline mean in both groups?
Should I consider baseline standard deviation, and if yes, how?
Should I take into account dropouts? I mean, in some sample at baseline n =
30 and 35 and at end of treatment n was 28 and 29...



Thank you in advance,
Antonello Preti




This is my dataset (with imputed r = 0.70 for pre-post correlation, put in
the 'ri' variable):

##### the data

dat <- structure(list(study = structure(c(11L, 8L, 7L, 12L, 13L, 4L,
5L, 1L, 10L, 3L, 6L, 9L, 2L), .Label = c("Study A, 2012",
"Study B, 2013", "Study C, 2013", "Study D, 2010",
"Study E, 2012", "Study F, 2013", "Study G, 2006",
"Study H, 2005", "Study I, 2013", "Study L, 2012",
"Study M, 2003", "Study N, 2007", "Study P, 2007"
), class = "factor"), c_pre_mean = c(4.9, 15.18, 19.01, 5.1,
16.5, 27.35, 18.1, 2.4, 14.23, 0.08, 21.26, 21.5, 21.73), c_pre_sd = c(2.6,
2.21, 7.1, 1.5, 7.2, 13.92, 5.4, 0.13, 4.89, 0.94, 7.65, 5.22,
8.43), c_post_mean = c(6.1, 13.98, 18.5, 4.53, 15.9, 23, 16.9,
2.2, 16.58, -0.02, 16, 16.84, 23.54), c_post_sd = c(2.06, 3.24,
7, 2.06, 6.8, 12.06, 3.8, 0.13, 6.35, 0.88, 4.69, 4.64, 6.74),
     c_sample = c(14, 13, 19, 15, 34, 20, 24, 35, 31, 26, 49,
     21, 22), e_pre_mean = c(4.6, 13.81, 19.9, 5.3, 18.7, 22.71,
     19.2, 2.7, 15.97, -0.22, 20.9, 20.43, 21.94), e_pre_sd = c(2.1,
     6.64, 8.1, 2.9, 7.3, 7.82, 4.1, 0.13, 6.73, 0.93, 5.18, 4.87,
     7.02), e_post_mean = c(4.64, 15.86, 18.1, 4.33, 17.2, 24.89,
     17.6, 2.8, 13.6, 0.06, 17.41, 16.05, 19.29), e_post_sd = c(2.34,
     7.76, 7.8, 2.26, 7.4, 11.89, 3.7, 0.13, 5.79, 1.12, 5.16,
     4.17, 6.58), e_sample = c(14, 18, 16, 16, 33, 28, 29, 36,
     38, 27, 43, 25, 17), ri = c(.70,
.70,.70,.70,.70,.70,.70,.70,.70,.70,.70,.70,.70)), .Names = c("study",
"c_pre_mean", "c_pre_sd",
"c_post_mean", "c_post_sd", "c_sample", "e_pre_mean", "e_pre_sd",
"e_post_mean", "e_post_sd", "e_sample", "ri"), class = "data.frame",
row.names = c(NA,
-13L))


### check the data

dim(dat)
head(dat)
str(dat)

attach(dat) #### yes, I know, do'nt do this....

# call the library

library(metafor)


# Computing Standardized Mean Difference (Hedges' g) for Each Group
(experimental and control) at post treatment
# use "SMD" for the standardized mean difference using raw score
standardization

datT <- escalc(measure="SMD", m1i=e_post_mean, sd1i=e_post_sd,
n1i=e_sample, m2i=c_post_mean, sd2i=c_post_sd, n2i=c_sample, vtype="UB",
data=dat, append=TRUE)


# Extract the effect size ( Standardized Mean Difference (Hedges' g)) and
its variance

yi <- datT$yi
vi <- datT$vi



###############################################
#
# fixed-effects model
#
###############################################

model.FE <- rma(yi, vi, method="FE", digits=2)

summary(model.FE)

# plot globale

plot(model.FE, slab=paste(study))

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


--
Michael
http://www.dewey.myzen.co.uk/home.html

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to