# Create age and sexmatched pairs to balance Cox regression further (updated)

I analyze ethnic differences in risk of cardiovascular events (CVD) in a cohort study of patients with coronary heart disease. It is known that immigrants have higher risk of CVD and I intend to show this via Cox regression. However, my results fail to prove what is both plausible and well known, i.e immigrants do not have significantly higher risk. I suspect the reason for this is that groups are not comparable, not even with Cox model, because immigrants are 10–20 years younger at baseline (age is an important risk factor). There might be insufficient number of individuals with overlapping age to compare immigrants to natives.

So I thought the comparison would be more appropriate if each immigrant would be matched to a sex and age matched control.

I used the MatchIt package (I have some basic understanding of prop scores and the fact that they are primarily intended for treatment exposures). I reasoned that, as treatment is an exposure, so is immigrant status, which is dichotomized (yes/no immigrant status). I obtained (adjustments for age, sex and duration of coronary heart disease) the probability of being native. I used the weights in coxph function as follows:

coxph(Surv(start, stop, event==1) ~  var1 + var2 + var3 + var4, data=dataset, weights=weights)


Results are now more plausible. Immigrants are now at higher risk.

Was this correct or just a incorrect effort to prove an hypothesis?

There is no need to use matching, as the variables you are matching on are exceedingly easy to handle as covariates. You can easily allow for nonlinearity in age and non-additivity in age and sex by expanding age into a spline and interacting all spline terms with sex, and likewise for duration.

Ways to check that the matching method worked in a good and reproducible fashion include

1. randomly reorder the dataset and see if the same matches are produced
2. check that the matched ages are within one year of each other and likewise for duration of disease
3. show that the matching did not discard any observations that could have possibly matched

It is unlikely that all three of these conditions are satisfied, hence matching has problems.

To obtain the Cox model analysis I suggested above:

require(rms)

• I have no idea whether stargazer respects the conventions used by rms. I added code above that will fix the error you got. Just typing the fit object only helps you in the special case where the variable being tested does not interact with anything and is represented by only a single term in the model. – Frank Harrell Aug 21 '14 at 15:21