Dear all,
Apologies if this question is bit theoretical and for the longish email.
I am meta-analyzing the coefficients and standard errors from multiple
studies where the raw data is not available.
Each study analyst runs a model that includes an interaction term for,
say, between sex and smoking and age.
Here is an illustrative example example for one study:
set.seed(1066)
status <- rbinom( 1000, 1, 0.2 )
males <- rbinom( 1000, 1, 0.6 )
smoke <- rbinom( 1000, 1, 0.3 )
age <- runif(1000, min=20, max=80)
coef( summary( f1 <- glm( status ~ males*smoke + age,
family="binomial" ) ) )
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -1.520399871 0.284464584 -5.3447774 9.052825e-08
# males 0.213851446 0.201717381 1.0601538 2.890746e-01
# smoke -0.123103049 0.292346483 -0.4210861 6.736922e-01
# age -0.001056007 0.004612947 -0.2289223 8.189293e-01
# males:smoke 0.283775173 0.362821438 0.7821345 4.341355e-01
Now, unfortunately some analysts coded sex as females instead of males.
Using the same dataset, I get the following output with females:
females <- 1 - males
coef( summary( f1 <- glm( status ~ females*smoke + age,
family="binomial" )) )
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -1.306548425 0.262573162* -4.9759405 6.493160e-07
# females -0.213851446 0.201717381* -1.0601538 2.890746e-01
# smoke 0.160672124 0.214923130* 0.7475795 4.547138e-01
# age -0.001056007 0.004612947 -0.2289223 8.189293e-01
# females:smoke -0.283775173 0.362821438 -0.7821345 4.341355e-01
I have worked out algebrically (and numerically) the following:
Beta(females) = -Beta(males)
Var(females) = Var(males)
Beta(females:smoke) = -Beta(males:smoke)
Var(females:smoke) = Var(males:smoke)
Beta(smoke | fit1) = Beta(smoke | fit2) + Beta(females:smoke)
= 0.160672124 -0.283775173
= -0.1231030
How can I calculate the Var(smoke | fit1) from Var(smoke | fit2) ?
I tried to derive this algebrically but ended up with a covariance term
which I could not solve. If I could cleverly convert Var(smoke | fit2)
to Var(smoke | fit1) then I could avoid going back to each analyst since
this particular analyses is only one of many hundreds we run and it
would be annoying for each analyst to use the same parameterisation.
Any suggestions is much appreciated. Many thanks in advance.
Regards, Adai
______________________________________________
R-help@r-project.org mailing list
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.