Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Identifying prospensity-score matched groups using teffects

    I am having a tough time with the "teffects psmatch" command in StataIC 15.

    I have used the code: "teffects psmatch (death) (treated age sex preopasa premob amts origin charlson imd, logit), caliper(0.02) nneighbor(1) gen(match)", which appears to do a great job of matching the co-variates (attached figure). It also creates three new variables ("match1", "match2", "match3") that identify the matched records based on their order in the dataset.

    I would ideally like to be able to work on the matched treated and untreated groups, e.g. describe their characteristics, draw Kaplan-Meier plots based on the balanced groups, etc. This is possible when propensity score matching is undertaken using the user-written command psmatch2 as it creates two new variables, one of which is _weight(==1 indicates matched) and the other is _treated (==1 indicated treated status). I have not been able to use psmatch2 as I have been told that it is necessary to present standardised mean differences between the groups, which is a post-estimation command in teffects but not (as far as I know) in psmatch2.

    I initially tried just dropping the small number of cases that teffects couldn't match (i.e. match1==0) and then just comparing the groups with treated==1 and treated==0. However, these groups are completely different (teffects psmatch doesn't appear to have achieved anything) and this contrasts with the post-estimation commands, which suggest that the groups were very well balanced after matching. I therefore presume that I am doing something wrong.

    I have included some mock data below from dataex and would be grateful for any advice as to whether I or not it is possible to make teffects psmatch behave in a similar way to psmatch2!

    David




    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input long studyid float(death treated) int age byte(sex preopasa) float premob byte amts float(origin charlson imd) long(match1 match2 match3)
    394957 1 1 65 0 3 1 10 1 0 19.75 8947 . .
    303495 0 0 34 0 2 2 10 1 0 17.07 18713 . .
    338400 0 0 59 1 2 1 10 1 0 9.78 25542 . .
    390485 0 0 48 0 3 2 10 1 3 21.82 2604 . .
    304599 0 1 98 0 2 1 10 1 0 7.19 20150 . .
    end
    label values sex sexlab
    label def sexlab 0 "Female", modify
    label def sexlab 1 "Male", modify
    label values premob moblab
    label def moblab 1 "Freely mobile", modify
    label def moblab 2 "Mobile indoors with one aid", modify
    label values origin admitlab
    label def admitlab 1 "Own home", modify
    [/CODE]


    Click image for larger version

Name:	Graph.jpg
Views:	1
Size:	95.9 KB
ID:	1440078

  • #2
    Any answer to this? I have the same problem

    Comment

    Working...
    X