Announcement

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

  • ipdmetan for forrest plots does not include all centres with obervations

    Hi there,

    I am doing a meta-analysis on 320 patients with data from different centres (13 in total). I have different outcomes I am interested in: intracerebral haemorrhage within 5 years, ischaemic stroke within 5 years and cortical subarachnoid haemorrhage within 5 years. I am going to use ischaemic stroke on follow-up as example.

    All codes are used in stata 15.1, last updated 27th June 2018.


    Code:
    stset TimetoIS_or_FU_years_5Lim, failure(IS_FU_5y)
    ipdmetan, study(Center) hr : stcox Age probableCAA i.Drinker HTN OAC
    Output:
    Code:
     stset TimetoIS_or_FU_years_5Lim, failure(IS_FU_5y)
    
         failure event:  IS_FU_5y != 0 & IS_FU_5y < .
    obs. time interval:  (0, TimetoIS_or_FU_years_5Lim]
     exit on or before:  failure
    
    ------------------------------------------------------------------------------
            320  total observations
             40  event time missing (TimetoIS_or_FU_years_5Lim>=.)  PROBABLE ERROR
              1  observation ends on or before enter()
    ------------------------------------------------------------------------------
            279  observations remaining, representing
             23  failures in single-record/single-failure data
        499.948  total analysis time at risk and under observation
                                                    at risk from t =         0
                                         earliest observed entry t =         0
                                              last observed exit t =  5.060274
    
    . ipdmetan, study(Center) hr : stcox Age probableCAA i.Drinker HTN OAC
    
    Studies included: 4
    Patients included: 109
    
    Meta-analysis pooling of main (treatment) effect estimate Age
    using Fixed-effects
    
    ---------------------------------------------------------------------
                           |    Haz.   
    Center                 |   Ratio    [95% Conf. Interval]   % Weight
    -----------------------+---------------------------------------------
    Klinikum Graz          |    0.960      0.879     1.048      74.18
    Mayo Clinic            |    1.083      0.811     1.448       6.84
    Royal Adelaide Hospital|    0.984      0.758     1.277       8.47
    Argentina              |    1.036      0.820     1.309      10.51
    -----------------------+---------------------------------------------
    Overall effect         |    0.978      0.906     1.055     100.00
    ---------------------------------------------------------------------
    
    Test of overall effect = 1:  z =  -0.581  p =   0.561
    
    
    Heterogeneity Measures
    -----------------------------------------------------------
                           |     Value      df     p-value
    -----------------------+-----------------------------------
    Cochran Q              |      0.88      3      0.830
    I² (%)                 |      0.0%
    Modified H²            |     0.000
    tau²                   |    0.0000
    -----------------------------------------------------------
    
    I² = between-study variance (tau²) as a percentage of total variance
    Modified H² = ratio of tau² to typical within-study variance
    ​​​​​​
    Out of 8 centers with an event on follow-up only 4 are included:

    Code:
    table probableCAA ICH_FU_5y if TimetoIS_or_FU_years_5Lim!=., by (Center) miss
    
    ----------------------------------------
                                | ICH_FU_5y 
         Center and probableCAA |    0     1
    ----------------------------+-----------
    UCLH                        |
                              0 |    2     .
                              1 |   17     2
    ----------------------------+-----------
    CHU Caen                    |
                              0 |    2     .
                              1 |   10     1
    ----------------------------+-----------
    Klinikum Graz               |
                              0 |   10     3
                              1 |   10     9
    ----------------------------+-----------
    Lisbon                      |
                              0 |    1     1
                              1 |    2     1
    ----------------------------+-----------
    Mayo Clinic                 |
                              0 |    7     .
                              1 |   10    10
    ----------------------------+-----------
    CHU Montpellier             |
                              0 |    2     .
                              1 |    5     4
    ----------------------------+-----------
    Sant Pau Barcelona          |
                              0 |   13     .
                              1 |    3     5
    ----------------------------+-----------
    Royal Adelaide Hospital     |
                              0 |   15     .
                              1 |    9     5
    ----------------------------+-----------
    Argentina                   |
                              0 |    9     1
                              1 |   10     1
    ----------------------------+-----------
    Beth Israel Harvard         |
                              0 |    4     .
                              1 |    7     .
    ----------------------------+-----------
    Monash University Australia |
                              0 |    2     .
                              1 |   11    12
    ----------------------------+-----------
    Emory Clinic                |
                              0 |    7     1
                              1 |    2     1
    ----------------------------------------
    If I then repeat it again I get a different result:
    Code:
    stset TimetoIS_or_FU_years_5Lim, failure(IS_FU_5y)
    
         failure event:  IS_FU_5y != 0 & IS_FU_5y < .
    obs. time interval:  (0, TimetoIS_or_FU_years_5Lim]
     exit on or before:  failure
    
    ------------------------------------------------------------------------------
            320  total observations
             40  event time missing (TimetoIS_or_FU_years_5Lim>=.)  PROBABLE ERROR
              1  observation ends on or before enter()
    ------------------------------------------------------------------------------
            279  observations remaining, representing
             23  failures in single-record/single-failure data
        499.948  total analysis time at risk and under observation
                                                    at risk from t =         0
                                         earliest observed entry t =         0
                                              last observed exit t =  5.060274
    
    . ipdmetan, study(Center) hr : stcox Age probableCAA i.Drinker HTN OAC
    
    Studies included: 5
    Patients included: 121
    
    Meta-analysis pooling of main (treatment) effect estimate Age
    using Fixed-effects
    
    ---------------------------------------------------------------------
                           |    Haz.   
    Center                 |   Ratio    [95% Conf. Interval]   % Weight
    -----------------------+---------------------------------------------
    CHU Caen               |  2160.292     0.000         .       0.00
    Klinikum Graz          |    0.960      0.879     1.048      74.18
    Mayo Clinic            |    1.083      0.811     1.448       6.84
    Royal Adelaide Hospital|    0.984      0.758     1.277       8.47
    Argentina              |    1.036      0.820     1.309      10.51
    -----------------------+---------------------------------------------
    Overall effect         |    0.978      0.906     1.055     100.00
    ---------------------------------------------------------------------
    
    Test of overall effect = 1:  z =  -0.581  p =   0.561
    
    
    Heterogeneity Measures
    -----------------------------------------------------------
                           |     Value      df     p-value
    -----------------------+-----------------------------------
    Cochran Q              |      0.88      4      0.927
    I² (%)                 |      0.0%
    Modified H²            |     0.000
    tau²                   |    0.0000
    -----------------------------------------------------------
    
    I² = between-study variance (tau²) as a percentage of total variance
    Modified H² = ratio of tau² to typical within-study variance
    macro substitution results in line that is too long
        The line resulting from substituting macros would be longer than allowed.  The maximum allowed length is 645,216
        characters, which is calculated on the basis of set maxvar.
    
        You can change that in Stata/SE and Stata/MP.  What follows is relevant only if you are using Stata/SE or
        Stata/MP.
    
        The maximum line length is defined as 16 more than the maximum macro length, which is currently 645,200
        characters.  Each unit increase in set maxvar increases the length maximums by 129.  The maximum value of set
        maxvar is 32,767.  Thus, the maximum line length may be set up to 4,227,159 characters if you set maxvar to its
        largest value.
    r(920);
    Now it includes another center and more patients but gives an error message, although I haven't change anything.

    If I used the "nooverall" option 4/8 are included.

    Code:
     ipdmetan, study(Center) hr nooverall: stcox Age probableCAA i.Drinker HTN OAC
    
    Studies included: 4
    Patients included: 109
    
    Meta-analysis pooling of main (treatment) effect estimate Age
    using Fixed-effects
    
    ---------------------------------------------------------------------
                           |    Haz.   
    Center                 |   Ratio    [95% Conf. Interval]   % Weight
    -----------------------+---------------------------------------------
    Klinikum Graz          |    0.960      0.879     1.048      74.18
    Mayo Clinic            |    1.083      0.811     1.448       6.84
    Royal Adelaide Hospital|    0.984      0.758     1.277       8.47
    Argentina              |    1.036      0.820     1.309      10.51
    ---------------------------------------------------------------------

    One problem could be that the information about ischaemic stroke on follow-up is missing in cases in which information about probable CAA is available. Nevertheless, we have information on ischaemic stroke in 8 centres. In some cases where its not known if anyone did NOT have an ischaemic stroke these centers are included into the forrest plot but others that we have the information on who had and who didnt have an ischaemic stroke were not (like for example Adelaide is included, whereas Lisbon and Emory are not included into the forrest plot). Another problem could be that we do know that they had an ischaemic stroke but we dont have the follow-up time, typical for a retrospective study, this is only the case in one patient though.

    So Im trying to solve following issues:
    • Why do I get for the same input two different outputs with a different amount of patients?
    • Why are only 109 or 121 included out of 279 patients (missing values in some of the variables?)
    • Why are not all centres with an event included?
    • What I am doing wrong and how can I correct it?
    Thanks!

  • #2
    Apologies, I added the wrong table. Below the correct table for ischaemic stroke on follow-up
    Code:
     table probableCAA IS_FU_5y , by (Center)
    
    ----------------------------------------
                                |  IS_FU_5y 
         Center and probableCAA |    0     1
    ----------------------------+-----------
    UCLH                        |
                              0 |    2      
                              1 |   17     2
    ----------------------------+-----------
    CHU Caen                    |
                              0 |    2      
                              1 |   11     1
    ----------------------------+-----------
    Klinikum Graz               |
                              0 |    8     5
                              1 |   14     5
    ----------------------------+-----------
    Lisbon                      |
                              0 |    2      
                              1 |    3      
    ----------------------------+-----------
    Mayo Clinic                 |
                              0 |    9      
                              1 |   18     3
    ----------------------------+-----------
    CHU Montpellier             |
                              0 |    3      
                              1 |    8     2
    ----------------------------+-----------
    Sant Pau Barcelona          |
                              0 |   14      
                              1 |    8      
    ----------------------------+-----------
    Royal Adelaide Hospital     |
                              0 |   14     2
                              1 |   14     1
    ----------------------------+-----------
    Argentina                   |
                              0 |   10      
                              1 |    9     2
    ----------------------------+-----------
    Beth Israel Harvard         |
                              0 |    6      
                              1 |   12      
    ----------------------------+-----------
    Monash University Australia |
                              0 |    2      
                              1 |   22     1
    ----------------------------+-----------
    Emory Clinic                |
                              0 |    8      
                              1 |    3      
    ----------------------------------------

    Comment


    • #3
      Hi Isabel,

      The answer to all of your questions is to consider each trial separately. ipdmetan simply fits the model (in this case, stcox Age probableCAA i.Drinker HTN OAC) to the data from each trial in turn, and presents the results in the form of a meta-analysis. So, my recommendation is to run the survival model within each trial separately, and see what issues you observe.

      That is, run:
      Code:
      stcox Age probableCAA i.Drinker HTN OAC if Center=="CHU Caen"
      stcox Age probableCAA i.Drinker HTN OAC if Center=="Klinikum Graz"
      stcox Age probableCAA i.Drinker HTN OAC if Center=="Mayo Clinic"
      stcox Age probableCAA i.Drinker HTN OAC if Center=="Royal Adelaide Hospital"
      // ... and so on.

      What I suspect you will see, is that the stcox model fails to converge for the other center (or gives very large or small estimates, as you saw with CHU Caen; which is a similar symptom). This may be due to a lack of data; in particular, insufficient observed failures in one or more of the groups formed by your covariates. ipdmetan is simply copying these problems over to the meta-analysis. But note that the pooled effect, and weighting, is the same each time: if a model cannot be fitted, there can be no estimate, and so that center does not contribute to the estimation of the pooled effect. This is absolutely fine and correct, in a meta-analysis context.

      Also, could I just confirm that you are specifically interested in the effect of Age on the outcome of time to stroke? By default, ipdmetan assumes that the first covariate is the covariate of interest, and this can be seen above the output table: "Meta-analysis pooling of main (treatment) effect estimate Age". Furthermore, ipdmetan cannot pool more than one covariate at a time. If you need to fit a more complex model, ipdmetan may not be a suitable command ... but I, or others on the Forum, may be able to help to find you an alternative.

      I hope that helps.
      Thanks,
      David.

      Comment


      • #4
        And therefore it should say "Mayo clinic is included whereas Monash, Montpellier and others are not".

        Comment


        • #5
          Hi David,
          thank you very much for your reply. Makes sense.
          So for the UCLH (Center 0) I get.
          Code:
          flat region resulting in a missing likelihood
          r(430);
          For CHU Caen:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==1
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          note: 0.Drinker omitted because of collinearity
          note: OAC omitted because of collinearity
          Iteration 0:   log likelihood = -1.9459101
          Iteration 1:   log likelihood = -.30279299
          Iteration 2:   log likelihood = -.13125607
          Iteration 3:   log likelihood =  -.0520529
          Iteration 4:   log likelihood = -.01916879
          Iteration 5:   log likelihood = -.00699936
          Iteration 6:   log likelihood = -.00256479
          Iteration 7:   log likelihood =  -.0009421
          Iteration 8:   log likelihood = -.00034657
          Iteration 9:   log likelihood = -.00012491
          Iteration 10:  log likelihood =  -.0000485
          Iteration 11:  log likelihood = -.00004302
          Iteration 12:  log likelihood =  -.0000404
          Iteration 13:  log likelihood = -.00003823
          Iteration 14:  log likelihood =  -.0000361
          Refining estimates:
          Iteration 0:   log likelihood = -.00003587
          Iteration 1:   log likelihood =  -.0000132
          Iteration 2:   log likelihood = -4.854e-06
          Iteration 3:   log likelihood = -1.786e-06
          Iteration 4:   log likelihood = -6.570e-07
          Iteration 5:   log likelihood = -2.417e-07
          Iteration 6:   log likelihood = -8.891e-08
          Iteration 7:   log likelihood = -3.271e-08
          Iteration 8:   log likelihood = -1.203e-08
          Iteration 9:   log likelihood = -4.427e-09
          Iteration 10:  log likelihood = -1.628e-09
          Iteration 11:  log likelihood = -5.991e-10
          Iteration 12:  log likelihood = -2.204e-10
          Iteration 13:  log likelihood = -8.106e-11
          Iteration 14:  log likelihood = -2.984e-11
          Iteration 15:  log likelihood = -1.091e-11
          Iteration 16:  log likelihood = -3.979e-12
          Iteration 17:  log likelihood = -1.478e-12
          Iteration 18:  log likelihood = -5.684e-13
          Iteration 19:  log likelihood = -1.137e-13
          Iteration 20:  log likelihood =          0
          
          Cox regression -- no ties
          
          No. of subjects =           12                  Number of obs    =          12
          No. of failures =            1
          Time at risk    =  38.75342447
                                                          LR chi2(5)       =        3.89
          Log likelihood  =            0                  Prob > chi2      =      0.5651
          
          ------------------------------------------------------------------------------
                    _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          -------------+----------------------------------------------------------------
                   Age |   2455.294          .        .       .            .           .
           probableCAA |   1.26e+07          .        .       .            .           .
                       |
               Drinker |
              No ETOH  |          1  (omitted)
                   HTN |   1.27e-19          .        .       .            .           .
                   OAC |          1  (omitted)
          ------------------------------------------------------------------------------
          Probably due to not having enough observations in the other covariates.

          For Graz:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==2
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood = -27.970282
          Iteration 1:   log likelihood = -23.654084
          Iteration 2:   log likelihood = -22.013857
          Iteration 3:   log likelihood = -21.733175
          Iteration 4:   log likelihood = -21.731849
          Iteration 5:   log likelihood = -21.731849
          Refining estimates:
          Iteration 0:   log likelihood = -21.731849
          
          Cox regression -- no ties
          
          No. of subjects =           32                  Number of obs    =          32
          No. of failures =           10
          Time at risk    =  45.97808228
                                                          LR chi2(6)       =       12.48
          Log likelihood  =   -21.731849                  Prob > chi2      =      0.0521
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |   .9600309   .0431251    -0.91   0.364     .8791213    1.048387
             probableCAA |   .2715686   .2196903    -1.61   0.107     .0556269    1.325788
                         |
                 Drinker |
           Current ETOH  |   2.381755   2.226206     0.93   0.353      .381317    14.87674
                Ex ETOH  |   29.42702   35.60628     2.80   0.005     2.746657    315.2741
                         |
                     HTN |   .5916931   .4938471    -0.63   0.530     .1152537    3.037653
                     OAC |   2.068854   1.870442     0.80   0.421     .3516915     12.1702
          --------------------------------------------------------------------------------
          For Lisbon:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==3
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          note: 2.Drinker omitted because of collinearity
          note: HTN omitted because of collinearity
          note: OAC omitted because of collinearity
          Iteration 0:   log likelihood =          0
          Refining estimates:
          Iteration 0:   log likelihood =          0
          
          Cox regression -- no ties
          
          No. of subjects =            3                  Number of obs    =           3
          No. of failures =            0
          Time at risk    =  10.71506858
                                                          LR chi2(0)       =        0.00
          Log likelihood  =            0                  Prob > chi2      =           .
          
          ------------------------------------------------------------------------------
                    _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          -------------+----------------------------------------------------------------
                   Age |          1  (omitted)
           probableCAA |          1  (omitted)
                       |
               Drinker |
              Ex ETOH  |          1  (omitted)
                   HTN |          1  (omitted)
                   OAC |          1  (omitted)
          ------------------------------------------------------------------------------
          For Mayo Clinic:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==4
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood = -5.5412635
          Iteration 1:   log likelihood = -4.6182694
          Iteration 2:   log likelihood = -4.2850931
          Iteration 3:   log likelihood = -4.1723373
          Iteration 4:   log likelihood = -4.1374718
          Iteration 5:   log likelihood = -4.1245789
          Iteration 6:   log likelihood = -4.1198163
          Iteration 7:   log likelihood = -4.1180613
          Iteration 8:   log likelihood = -4.1174154
          Iteration 9:   log likelihood = -4.1171777
          Iteration 10:  log likelihood = -4.1170902
          Iteration 11:  log likelihood =  -4.117058
          Iteration 12:  log likelihood = -4.1170462
          Iteration 13:  log likelihood = -4.1170418
          Iteration 14:  log likelihood = -4.1170402
          Iteration 15:  log likelihood = -4.1170396
          Iteration 16:  log likelihood = -4.1170394
          Iteration 17:  log likelihood = -4.1170394
          Iteration 18:  log likelihood = -4.1170393
          Iteration 19:  log likelihood = -4.1170393
          Iteration 20:  log likelihood = -4.1170393
          Iteration 21:  log likelihood = -4.1170393
          Iteration 22:  log likelihood = -4.1170393
          Iteration 23:  log likelihood = -4.1170393
          Iteration 24:  log likelihood = -4.1170393
          Iteration 25:  log likelihood = -4.1170393
          Iteration 26:  log likelihood = -4.1170393
          Iteration 27:  log likelihood = -4.1170393
          Iteration 28:  log likelihood = -4.1170393
          Iteration 29:  log likelihood = -4.1170393
          Iteration 30:  log likelihood = -4.1170393
          Iteration 31:  log likelihood = -4.1170393
          Iteration 32:  log likelihood = -4.1170393
          Iteration 33:  log likelihood = -4.1170393
          Refining estimates:
          Iteration 0:   log likelihood = -4.1170393
          Iteration 1:   log likelihood = -4.1170393
          Iteration 2:   log likelihood = -4.1170393
          
          Cox regression -- no ties
          
          No. of subjects =           27                  Number of obs    =          27
          No. of failures =            2
          Time at risk    =  33.73698602
                                                          LR chi2(4)       =        2.85
          Log likelihood  =   -4.1170393                  Prob > chi2      =      0.5835
          
          ------------------------------------------------------------------------------
                    _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          -------------+----------------------------------------------------------------
                   Age |   1.083369   .1602298     0.54   0.588     .8107447    1.447667
           probableCAA |   5.77e+14   3.96e+22     0.00   1.000            0           .
                       |
               Drinker |
              Ex ETOH  |          1  (omitted)
                   HTN |   1.73e+15   9.69e+22     0.00   1.000            0           .
                   OAC |   2.15e-16   3.02e-08    -0.00   1.000            0           .
          ------------------------------------------------------------------------------
          For Montpellier:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==5
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          note: OAC omitted because of collinearity
          Iteration 0:   log likelihood = -3.4011974
          Iteration 1:   log likelihood = -.25970966
          Iteration 2:   log likelihood = -.08464621
          Iteration 3:   log likelihood = -.03013161
          Iteration 4:   log likelihood = -.01096275
          Iteration 5:   log likelihood = -.00401699
          Iteration 6:   log likelihood = -.00147556
          Iteration 7:   log likelihood =  -.0005424
          Iteration 8:   log likelihood = -.00019452
          Iteration 9:   log likelihood =  .00065877
          Iteration 10:  log likelihood =  .00133802
          Iteration 11:  log likelihood =  .00154382  (backed up)
          Iteration 12:  log likelihood =  .00158598
          Iteration 13:  log likelihood = -.00016217  (backed up)
          Iteration 14:  log likelihood = -.00012905
          Iteration 15:  log likelihood =  .00101908
          Iteration 16:  log likelihood =  .00150163
          Iteration 17:  log likelihood =  .00039248  (backed up)
          Iteration 18:  log likelihood =  .00126115
          Iteration 19:  log likelihood =  .00133477
          Iteration 20:  log likelihood =  .00143661
          Iteration 21:  log likelihood = -.00006007  (backed up)
          Refining estimates:
          Iteration 0:   log likelihood = -4.933e-06
          Iteration 1:   log likelihood = -1.815e-06
          Iteration 2:   log likelihood = -6.677e-07
          Iteration 3:   log likelihood = -2.456e-07
          Iteration 4:   log likelihood = -9.036e-08
          Iteration 5:   log likelihood = -3.324e-08
          Iteration 6:   log likelihood = -1.223e-08
          Iteration 7:   log likelihood = -4.493e-09
          Iteration 8:   log likelihood = -1.624e-09
          Iteration 9:   log likelihood = -4.315e-10
          Iteration 10:  log likelihood = -2.702e-10
          Iteration 11:  log likelihood = -2.442e-10
          Iteration 12:  log likelihood = -2.257e-10
          Iteration 13:  log likelihood = -1.572e-10
          Iteration 14:  log likelihood = -1.572e-10
          Iteration 15:  log likelihood = -1.572e-10  (backed up)
          
          Cox regression -- no ties
          
          No. of subjects =           11                  Number of obs    =          11
          No. of failures =            2
          Time at risk    =  32.74246603
                                                          LR chi2(3)       =        6.80
          Log likelihood  =   -1.572e-10                  Prob > chi2      =      0.0785
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |   .0055703          .        .       .            .           .
             probableCAA |   6.4e+131          .        .       .            .           .
                         |
                 Drinker |
           Current ETOH  |   6.23e+81   1.49e+87     0.00   0.999            0           .
                Ex ETOH  |   2.82e-41   1.18e-35    -0.00   1.000            0           .
                         |
                     HTN |   8.78e-18   6.16e-13    -0.00   1.000            0           .
                     OAC |          1  (omitted)
          --------------------------------------------------------------------------------
          For Barcelona:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==6
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood =          0
          Refining estimates:
          Iteration 0:   log likelihood =          0
          
          Cox regression -- no ties
          
          No. of subjects =           13                  Number of obs    =          13
          No. of failures =            0
          Time at risk    =   25.7698626
                                                          LR chi2(0)       =        0.00
          Log likelihood  =            0                  Prob > chi2      =           .
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |          1  (omitted)
             probableCAA |          1  (omitted)
                         |
                 Drinker |
           Current ETOH  |          1  (omitted)
                     HTN |          1  (omitted)
                     OAC |          1  (omitted)
          -----------------------------------------------------------------------------
          For Adelaide:
          Code:
           stcox Age probableCAA i.Drinker HTN OAC if Center==7
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood = -8.8766842
          Iteration 1:   log likelihood = -6.3890566
          Iteration 2:   log likelihood = -5.9289954
          Iteration 3:   log likelihood = -5.8290441
          Iteration 4:   log likelihood =  -5.797169
          Iteration 5:   log likelihood = -5.7857916
          Iteration 6:   log likelihood = -5.7816429
          Iteration 7:   log likelihood = -5.7801216
          Iteration 8:   log likelihood = -5.7795626
          Iteration 9:   log likelihood =  -5.779357
          Iteration 10:  log likelihood = -5.7792814
          Iteration 11:  log likelihood = -5.7792536
          Iteration 12:  log likelihood = -5.7792433
          Iteration 13:  log likelihood = -5.7792396
          Iteration 14:  log likelihood = -5.7792382
          Iteration 15:  log likelihood = -5.7792377
          Iteration 16:  log likelihood = -5.7792375
          Iteration 17:  log likelihood = -5.7792374
          Iteration 18:  log likelihood = -5.7792374
          Iteration 19:  log likelihood = -5.7792374
          Iteration 20:  log likelihood = -5.7792374
          Iteration 21:  log likelihood = -5.7792374
          Iteration 22:  log likelihood = -5.7792374
          Iteration 23:  log likelihood = -5.7792374
          Iteration 24:  log likelihood = -5.7792374
          Iteration 25:  log likelihood = -5.7792374
          Iteration 26:  log likelihood = -5.7792374
          Iteration 27:  log likelihood = -5.7792374
          Iteration 28:  log likelihood = -5.7792374
          Iteration 29:  log likelihood = -5.7792374
          Iteration 30:  log likelihood = -5.7792374
          Iteration 31:  log likelihood = -5.7792374
          Iteration 32:  log likelihood = -5.7792374
          Iteration 33:  log likelihood = -5.7792374
          Iteration 34:  log likelihood = -5.7792374
          Refining estimates:
          Iteration 0:   log likelihood = -5.7792374
          Iteration 1:   log likelihood = -5.7792374
          Iteration 2:   log likelihood = -5.7792374
          Iteration 3:   log likelihood = -5.7792374
          
          Cox regression -- no ties
          
          No. of subjects =           29                  Number of obs    =          29
          No. of failures =            3
          Time at risk    =  94.99178167
                                                          LR chi2(5)       =        6.19
          Log likelihood  =   -5.7792374                  Prob > chi2      =      0.2877
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |   .9837354   .1308028    -0.12   0.902     .7580501    1.276611
             probableCAA |   .2380781   .4233768    -0.81   0.420     .0072949    7.769986
                         |
                 Drinker |
           Current ETOH  |   .4528999   1.70e+08    -0.00   1.000            0           .
                     HTN |   8.09e+16   3.46e+24     0.00   1.000            0           .
                     OAC |   5.640829   9.206555     1.06   0.289      .230183    138.2333
          --------------------------------------------------------------------------------
          For Argentina:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==8
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          note: 0.Drinker omitted because of collinearity
          note: OAC omitted because of collinearity
          Iteration 0:   log likelihood = -4.6821312
          Iteration 1:   log likelihood = -2.9009848
          Iteration 2:   log likelihood = -2.7417194
          Iteration 3:   log likelihood = -2.6920493
          Iteration 4:   log likelihood = -2.6747879
          Iteration 5:   log likelihood = -2.6685247
          Iteration 6:   log likelihood = -2.6662313
          Iteration 7:   log likelihood =  -2.665389
          Iteration 8:   log likelihood = -2.6650794
          Iteration 9:   log likelihood = -2.6649655
          Iteration 10:  log likelihood = -2.6649236
          Iteration 11:  log likelihood = -2.6649082
          Iteration 12:  log likelihood = -2.6649025
          Iteration 13:  log likelihood = -2.6649004
          Iteration 14:  log likelihood = -2.6648996
          Iteration 15:  log likelihood = -2.6648994
          Iteration 16:  log likelihood = -2.6648993
          Iteration 17:  log likelihood = -2.6648992
          Iteration 18:  log likelihood = -2.6648992
          Iteration 19:  log likelihood = -2.6648992
          Iteration 20:  log likelihood = -2.6648992
          Iteration 21:  log likelihood = -2.6648992
          Iteration 22:  log likelihood = -2.6648992
          Iteration 23:  log likelihood = -2.6648992
          Iteration 24:  log likelihood = -2.6648992
          Iteration 25:  log likelihood = -2.6648992
          Iteration 26:  log likelihood = -2.6648992
          Iteration 27:  log likelihood = -2.6648992
          Iteration 28:  log likelihood = -2.6648992
          Iteration 29:  log likelihood = -2.6648992
          Iteration 30:  log likelihood = -2.6648992
          Iteration 31:  log likelihood = -2.6648992
          Iteration 32:  log likelihood = -2.6648992
          Iteration 33:  log likelihood = -2.6648992
          Refining estimates:
          Iteration 0:   log likelihood = -2.6648992
          Iteration 1:   log likelihood = -2.6648992
          
          Cox regression -- no ties
          
          No. of subjects =           21                  Number of obs    =          21
          No. of failures =            2
          Time at risk    =  42.54794501
                                                          LR chi2(3)       =        4.03
          Log likelihood  =   -2.6648992                  Prob > chi2      =      0.2578
          
          ------------------------------------------------------------------------------
                    _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          -------------+----------------------------------------------------------------
                   Age |   1.035601   .1236198     0.29   0.769     .8195671    1.308581
           probableCAA |   .8091438   5.89e+07    -0.00   1.000            0           .
                       |
               Drinker |
              No ETOH  |          1  (omitted)
                   HTN |   2.23e+15   8.88e+22     0.00   1.000            0           .
                   OAC |          1  (omitted)
          ------------------------------------------------------------------------------
          For Beth Israel:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==9
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood =          0
          Refining estimates:
          Iteration 0:   log likelihood =          0
          
          Cox regression -- no ties
          
          No. of subjects =           10                  Number of obs    =          10
          No. of failures =            0
          Time at risk    =  6.791780859
                                                          LR chi2(0)       =        0.00
          Log likelihood  =            0                  Prob > chi2      =           .
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |          1  (omitted)
             probableCAA |          1  (omitted)
                         |
                 Drinker |
           Current ETOH  |          1  (omitted)
                     HTN |          1  (omitted)
                     OAC |          1  (omitted)
          --------------------------------------------------------------------------------
          For MasGen:
          Code:
           stcox Age probableCAA i.Drinker HTN OAC if Center==10
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood =          0
          Refining estimates:
          Iteration 0:   log likelihood =          0
          
          Cox regression -- no ties
          
          No. of subjects =           10                  Number of obs    =          10
          No. of failures =            0
          Time at risk    =  6.791780859
                                                          LR chi2(0)       =        0.00
          Log likelihood  =            0                  Prob > chi2      =           .
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |          1  (omitted)
             probableCAA |          1  (omitted)
                         |
                 Drinker |
           Current ETOH  |          1  (omitted)
                     HTN |          1  (omitted)
                     OAC |          1  (omitted)
          --------------------------------------------------------------------------------
          
          .   stcox Age probableCAA i.Drinker HTN OAC if Center==10
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          no observations
          r(2000);
          For Monash:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==11
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          note: probableCAA omitted because of collinearity
          note: OAC omitted because of collinearity
          Iteration 0:   log likelihood =          0
          Refining estimates:
          Iteration 0:   log likelihood =          0
          
          Cox regression -- no ties
          
          No. of subjects =            9                  Number of obs    =           9
          No. of failures =            0
          Time at risk    =  14.18082213
                                                          LR chi2(0)       =        0.00
          Log likelihood  =            0                  Prob > chi2      =           .
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |          1  (omitted)
             probableCAA |          1  (omitted)
                         |
                 Drinker |
           Current ETOH  |          1  (omitted)
                     HTN |          1  (omitted)
                     OAC |          1  (omitted)
          --------------------------------------------------------------------------------
          And for Emory:
          Code:
          stcox Age probableCAA i.Drinker HTN OAC if Center==12
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood =          0
          Refining estimates:
          Iteration 0:   log likelihood =          0
          
          Cox regression -- no ties
          
          No. of subjects =           11                  Number of obs    =          11
          No. of failures =            0
          Time at risk    =  2.052054784
                                                          LR chi2(0)       =        0.00
          Log likelihood  =            0                  Prob > chi2      =           .
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
                     Age |          1  (omitted)
             probableCAA |          1  (omitted)
                         |
                 Drinker |
           Current ETOH  |          1  (omitted)
                     HTN |          1  (omitted)
                     OAC |          1  (omitted)
          --------------------------------------------------------------------------------
          Emory, Beth Israel, Barcelona, Lisbon dont have any events.
          Graz, Mayo, Adelaide and Argentina seem to be fine although they also have omitted sections.

          The missingness in each of the variable is as follow:
          Code:
          misstable summarize IS_FU_5y probableCAA Age HTN Drinker OAC
                                                                         Obs<.
                                                          +------------------------------
                         |                                | Unique
                Variable |     Obs=.     Obs>.     Obs<.  | values        Min         Max
            -------------+--------------------------------+------------------------------
                IS_FU_5y |        28                 292  |      2          0           1
             probableCAA |        60                 260  |      2          0           1
                     Age |         1                 319  |     98         24          96
                     HTN |         5                 315  |      2          0           1
                 Drinker |        55                 265  |      3          0           2
                     OAC |        10                 310  |      2          0           1
            -----------------------------------------------------------------------------

          Thank you for raising this. The main variable we are interested in is probable CAA and not Age. We want to adjust for Age and the other factors.

          we have used mentioned variables in the multivariable:
          Code:
          stset TimetoIS_or_FU_years_5Lim, failure(IS_FU_5y)
          
               failure event:  IS_FU_5y != 0 & IS_FU_5y < .
          obs. time interval:  (0, TimetoIS_or_FU_years_5Lim]
           exit on or before:  failure
          
          ------------------------------------------------------------------------------
                  320  total observations
                   40  event time missing (TimetoIS_or_FU_years_5Lim>=.)  PROBABLE ERROR
                    1  observation ends on or before enter()
          ------------------------------------------------------------------------------
                  279  observations remaining, representing
                   23  failures in single-record/single-failure data
              499.948  total analysis time at risk and under observation
                                                          at risk from t =         0
                                               earliest observed entry t =         0
                                                    last observed exit t =  5.060274
          
          . stcox probableCAA Age  i.Drinker HTN OAC
          
                   failure _d:  IS_FU_5y
             analysis time _t:  TimetoIS_or_FU_years_5Lim
          
          Iteration 0:   log likelihood = -99.887043
          Iteration 1:   log likelihood = -98.035346
          Iteration 2:   log likelihood = -95.413117
          Iteration 3:   log likelihood = -95.289925
          Iteration 4:   log likelihood = -95.288266
          Iteration 5:   log likelihood = -95.288266
          Refining estimates:
          Iteration 0:   log likelihood = -95.288266
          
          Cox regression -- no ties
          
          No. of subjects =          199                  Number of obs    =         199
          No. of failures =           22
          Time at risk    =  385.6109597
                                                          LR chi2(6)       =        9.20
          Log likelihood  =   -95.288266                  Prob > chi2      =      0.1628
          
          --------------------------------------------------------------------------------
                      _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
          ---------------+----------------------------------------------------------------
             probableCAA |   .5352548   .2786674    -1.20   0.230     .1929315    1.484971
                     Age |   1.026122   .0252289     1.05   0.294     .9778471    1.076781
                         |
                 Drinker |
           Current ETOH  |   1.248251   .8011393     0.35   0.730     .3548072    4.391483
                Ex ETOH  |   6.403664   5.180726     2.30   0.022      1.31155    31.26599
                         |
                     HTN |   1.742314   .9578482     1.01   0.313     .5931616     5.11776
                     OAC |   2.438782   1.376001     1.58   0.114     .8070696    7.369449
          --------------------------------------------------------------------------------
          there 199 individuals were included. And now I wanted to use the ipdmetan to get the forrest plot. What would you in my case recommend is the best way to do it?

          Comment


          • #6
            Hi Isabel,

            That's great, it clarifies things nicely. So, you're nearly there. Running:
            Code:
            ipdmetan, study(Center) hr : stcox probableCAA Age i.Drinker HTN OAC
            ...will give you the forest plot for the effect of "probablyCAA" on survival (adjusted for age, drinker, HTN and OAC) based on all the centers in which the model could be successfully fitted.


            If there are still centers whose models fail to converge, you have two immediate options:

            (1) You can force all the centers' names to appear on the plot by using the keepall option to ipdmetan. (The additional keeporder option also retains the natural ordering of centers, rather than putting all the unfitted ones at the end).

            (2) You could explore the reasons for the lack of convergence, and possibly remove one or more adjustment factors to see if that helps. Or explicitly report separate meta-analyses of both the unadjusted and adjusted models. (the former presumably containing all centers; the latter just a subset).

            Best wishes,

            David.

            Comment


            • #7
              Hi David,

              thank you very much for your explanations.

              When using the keepall I get:
              Code:
               stset TimetoIS_or_FU_years_5Lim, failure(IS_FU_5y)
              
                   failure event:  IS_FU_5y != 0 & IS_FU_5y < .
              obs. time interval:  (0, TimetoIS_or_FU_years_5Lim]
               exit on or before:  failure
              
              ------------------------------------------------------------------------------
                      320  total observations
                       40  event time missing (TimetoIS_or_FU_years_5Lim>=.)  PROBABLE ERROR
                        1  observation ends on or before enter()
              ------------------------------------------------------------------------------
                      279  observations remaining, representing
                       23  failures in single-record/single-failure data
                  499.948  total analysis time at risk and under observation
                                                              at risk from t =         0
                                                   earliest observed entry t =         0
                                                        last observed exit t =  5.060274
              
              . ipdmetan, study(Center) hr keepall: stcox  probableCAA Age i.Drinker HTN OAC
              
              Studies included: 3
              Patients included: 88
              
              Meta-analysis pooling of main (treatment) effect estimate probableCAA
              using Fixed-effects
              
              -------------------------------------------------------------------------
                                         |    Haz.   
              Center                     |   Ratio    [95% Conf. Interval]   % Weight
              ---------------------------+---------------------------------------------
              Klinikum Graz              |    0.272      0.056     1.326      82.85
              Mayo Clinic                |   1.7e+14     0.000         .       0.00
              Royal Adelaide Hospital    |    0.238      0.007     7.770      17.15
              UCLH                       |   (Insufficient data)
              CHU Caen                   |   (Insufficient data)
              Lisbon                     |   (Insufficient data)
              CHU Montpellier            |   (Insufficient data)
              Sant Pau Barcelona         |   (Insufficient data)
              Argentina                  |   (Insufficient data)
              Beth Israel Harvard        |   (Insufficient data)
              Massachusettes General     |   (Insufficient data)
              Monash University Australia|   (Insufficient data)
              Emory Clinic               |   (Insufficient data)
              ---------------------------+---------------------------------------------
              Overall effect             |    0.266      0.063     1.124     100.00
              -------------------------------------------------------------------------
              
              Test of overall effect = 1:  z =  -1.801  p =   0.072
              
              
              Heterogeneity Measures
              ---------------------------------------------------------------
                                         |     Value      df     p-value
              ---------------------------+-----------------------------------
              Cochran Q                  |      0.00      2      0.998
              I² (%)                     |      0.0%
              Modified H²                |     0.000
              tau²                       |    0.0000
              ---------------------------------------------------------------
              
              I² = between-study variance (tau²) as a percentage of total variance
              Modified H² = ratio of tau² to typical within-study variance
              macro substitution results in line that is too long
                  The line resulting from substituting macros would be longer than allowed.  The maximum allowed length is 645,216
                  characters, which is calculated on the basis of set maxvar.
              
                  You can change that in Stata/SE and Stata/MP.  What follows is relevant only if you are using Stata/SE or Stata/MP.
              
                  The maximum line length is defined as 16 more than the maximum macro length, which is currently 645,200 characters.
                  Each unit increase in set maxvar increases the length maximums by 129.  The maximum value of set maxvar is 32,767.
                  Thus, the maximum line length may be set up to 4,227,159 characters if you set maxvar to its largest value.
              r(920);
              I cant use keeporder as it returns following error:
              Code:
              ipdmetan, study(Center) hr keepall keeporder: stcox probableCAA Age i.Drinker HTN OAC
              option keeporder not allowed
              r(198);
              putting probableCAA before Age makes things worse. Might by a unnecessary question but why is this? Is it possible to adjust for the five variables weighing them the same as in not make probableCAA the most important variable?

              The same applies to ICH even on FU. When I put probable CAA before Age only 4 centres are left compared to the previous 9 (when having age before probable CAA).
              Code:
              ipdmetan, study(Center) hr keepall: stcox probableCAA  Age
              
              Studies included: 4
              Patients included: 69
              
              Meta-analysis pooling of main (treatment) effect estimate probableCAA
              using Fixed-effects
              
              -------------------------------------------------------------------------
                                         |    Haz.   
              Center                     |   Ratio    [95% Conf. Interval]   % Weight
              ---------------------------+---------------------------------------------
              Klinikum Graz              |    1.645      0.440     6.153      69.51
              Lisbon                     |    0.724      0.039    13.540      14.11
              Argentina                  |    0.024      0.000     4.783       4.28
              Emory Clinic               |    5.368      0.228   126.611      12.11
              UCLH                       |   (Insufficient data)
              CHU Caen                   |   (Insufficient data)
              Mayo Clinic                |   (Insufficient data)
              CHU Montpellier            |   (Insufficient data)
              Sant Pau Barcelona         |   (Insufficient data)
              Royal Adelaide Hospital    |   (Insufficient data)
              Beth Israel Harvard        |   (Insufficient data)
              Massachusettes General     |   (Insufficient data)
              Monash University Australia|   (Insufficient data)
              ---------------------------+---------------------------------------------
              Overall effect             |    1.410      0.469     4.234     100.00
              -------------------------------------------------------------------------
              
              Test of overall effect = 1:  z =   0.612  p =   0.540
              
              
              Heterogeneity Measures
              ---------------------------------------------------------------
                                         |     Value      df     p-value
              ---------------------------+-----------------------------------
              Cochran Q                  |      3.22      3      0.359
              I² (%)                     |      6.8%
              Modified H²                |     0.073
              tau²                       |    0.1425
              ---------------------------------------------------------------
              
              I² = between-study variance (tau²) as a percentage of total variance
              Modified H² = ratio of tau² to typical within-study variance
              Attached you find the forrest plot for IS and ICH on follow-up.

              What I dont understand is that when doing the multivariable analysis it works fine (here for IS on FU as example), including 199 patients:
              Code:
              stset TimetoIS_or_FU_years_5Lim, failure(IS_FU_5y)
              
                   failure event:  IS_FU_5y != 0 & IS_FU_5y < .
              obs. time interval:  (0, TimetoIS_or_FU_years_5Lim]
               exit on or before:  failure
              
              ------------------------------------------------------------------------------
                      320  total observations
                       40  event time missing (TimetoIS_or_FU_years_5Lim>=.)  PROBABLE ERROR
                        1  observation ends on or before enter()
              ------------------------------------------------------------------------------
                      279  observations remaining, representing
                       23  failures in single-record/single-failure data
                  499.948  total analysis time at risk and under observation
                                                              at risk from t =         0
                                                   earliest observed entry t =         0
                                                        last observed exit t =  5.060274
              
              . xi: stcox probableCAA Age i.Drinker HTN OAC
              i.Drinker         _IDrinker_0-2       (naturally coded; _IDrinker_0 omitted)
              
                       failure _d:  IS_FU_5y
                 analysis time _t:  TimetoIS_or_FU_years_5Lim
              
              Iteration 0:   log likelihood = -99.887043
              Iteration 1:   log likelihood = -98.035346
              Iteration 2:   log likelihood = -95.413117
              Iteration 3:   log likelihood = -95.289925
              Iteration 4:   log likelihood = -95.288266
              Iteration 5:   log likelihood = -95.288266
              Refining estimates:
              Iteration 0:   log likelihood = -95.288266
              
              Cox regression -- no ties
              
              No. of subjects =          199                  Number of obs    =         199
              No. of failures =           22
              Time at risk    =  385.6109597
                                                              LR chi2(6)       =        9.20
              Log likelihood  =   -95.288266                  Prob > chi2      =      0.1628
              
              ------------------------------------------------------------------------------
                        _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
              -------------+----------------------------------------------------------------
               probableCAA |   .5352548   .2786674    -1.20   0.230     .1929315    1.484971
                       Age |   1.026122   .0252289     1.05   0.294     .9778471    1.076781
               _IDrinker_1 |   1.248251   .8011393     0.35   0.730     .3548072    4.391483
               _IDrinker_2 |   6.403664   5.180726     2.30   0.022      1.31155    31.26599
                       HTN |   1.742314   .9578482     1.01   0.313     .5931616     5.11776
                       OAC |   2.438782   1.376001     1.58   0.114     .8070696    7.369449
              ------------------------------------------------------------------------------
              
              . testparm _IDrinker_1 _IDrinker_2
              
               ( 1)  _IDrinker_1 = 0
               ( 2)  _IDrinker_2 = 0
              
                         chi2(  2) =    5.30
                       Prob > chi2 =    0.0706

              2) how would I explore the lack of convergence? By adding and removing a variable and see what changes?
              I was told that the forrest plot needs the exact same variables as the multivariable analysis but that we are not interested in the values, only the forrest plot itself.

              Thanks a lot for your help,

              Isabel
              Attached Files

              Comment


              • #8
                Hi Isabel,

                Thanks for the plots!

                First of all, I'm not sure why keeporder gave you an error. I also notice that there are question marks in your forest plots. Could you check whether you have the latest version of ipdmetan installed? Type which ipdmetan at the command line; it should say *! version 2.1 David Fisher 14sep2017. If it does not, try uninstalling and reinstalling using ssc uninstall ipdmetan followed by ssc install ipdmetan and check the version again.

                You ask: "putting probableCAA before Age makes things worse. Might by a unnecessary question but why is this? Is it possible to adjust for the five variables weighing them the same as in not make probableCAA the most important variable?"

                This suggests that you do not fully understand the models you are fitting. Let's turn to your final example, "stcox probableCAA Age i.Drinker HTN OAC" (N.B. the initial "xi:" is no longer required unless you are using Stata v10 or earlier.) This is modelling the effect of CAA, age, drinking, HTN and OAC on "survival" (as defined by stset). The interpretation of the coefficient for each of your variables is "the effect of variable X on survival adjusting for the effects of the other variables" or "the effect of variable X on survival holding the other variables constant/unchanged". When you fit this model to your entire dataset, you are effectively fitting a "one-stage" IPD meta-analysis model (although, to be correct, you need to also account for center membership by adding "i.Center" to the end -- see later).

                ipdmetan, on the other hand, performs "two-stage" IPD meta-analysis; and is able to pool just one coefficient across centers (adjusted for the other variables within each center). By default, it will select the first variable in the list. To be clear: ipdmetan will fit, say, stcox probableCAA Age i.Drinker HTN OAC to the data from each center in turn. At this stage (the first of the two stages), each variable appears in the model, adjusted for the others; and none is the "most important". However, the second stage is to pool the estimated coefficients of one of the variables across centers to give a final meta-analysis estimate of that variable -- in this case it will select probableCAA. So, it's not so much that one variable is the "most important"; it's simply that only one can be pooled across centers in the two-stage framework.

                If you wish, you could instead fit the one-stage model stcox probableCAA Age i.Drinker HTN OAC i.Center. This will allow you to interpret the coefficient of each variable in turn; all are effectively "pooled" across centers, although the pooling here is implicit rather than explicit. But because it is implicit, you cannot draw a forest plot. Note also that because the data from all centers is included at once, the model is more likely to converge, simply because there is more data available. This answers your question (2).

                Does that help at all?

                Best wishes,

                David.

                Comment


                • #9
                  Dear David,

                  thank you very much for your reply and again your help as well as patience. Ah no, I did not. I had version 1.06 installed through the package st0384. have now installed the right version. No question marks anymore now.

                  I think I understand the multivariable analysis part with the stcox but not the ipmetan part. The person who told me to do the ipdmetan said that we only do that to get the forest plots. Now that I am presented with the problem of not having certain centres listed people are away.

                  If I understand you correctly the right way would be to for the multivariable analysis:

                  Code:
                  stset TimetoICH_or_FU_years_5Lim, failure(ICH_FU_5y)
                  
                       failure event:  ICH_FU_5y != 0 & ICH_FU_5y < .
                  obs. time interval:  (0, TimetoICH_or_FU_years_5Lim]
                   exit on or before:  failure
                  
                  ------------------------------------------------------------------------------
                          320  total observations
                           37  event time missing (TimetoICH_or_FU_years_5Lim>=.) PROBABLE ERROR
                            1  observation ends on or before enter()
                  ------------------------------------------------------------------------------
                          282  observations remaining, representing
                           65  failures in single-record/single-failure data
                      520.947  total analysis time at risk and under observation
                                                                  at risk from t =         0
                                                       earliest observed entry t =         0
                                                            last observed exit t =  5.060274
                  
                  . stcox  probableCAA  Age i.Center
                  
                           failure _d:  ICH_FU_5y
                     analysis time _t:  TimetoICH_or_FU_years_5Lim
                  
                  Iteration 0:   log likelihood = -263.72892
                  Iteration 1:   log likelihood = -246.87594
                  Iteration 2:   log likelihood = -240.07303
                  Iteration 3:   log likelihood =  -239.9424
                  Iteration 4:   log likelihood =  -239.9221
                  Iteration 5:   log likelihood = -239.91465
                  Iteration 6:   log likelihood = -239.91191
                  Iteration 7:   log likelihood =  -239.9109
                  Iteration 8:   log likelihood = -239.91053
                  Iteration 9:   log likelihood =  -239.9104
                  Iteration 10:  log likelihood = -239.91035
                  Iteration 11:  log likelihood = -239.91033
                  Iteration 12:  log likelihood = -239.91032
                  Iteration 13:  log likelihood = -239.91032
                  Iteration 14:  log likelihood = -239.91032
                  Iteration 15:  log likelihood = -239.91032
                  Iteration 16:  log likelihood = -239.91032
                  Iteration 17:  log likelihood = -239.91032
                  Iteration 18:  log likelihood = -239.91032
                  Iteration 19:  log likelihood = -239.91032
                  Iteration 20:  log likelihood = -239.91032
                  Iteration 21:  log likelihood = -239.91032
                  Iteration 22:  log likelihood = -239.91032
                  Iteration 23:  log likelihood = -239.91032
                  Iteration 24:  log likelihood = -239.91032
                  Iteration 25:  log likelihood = -239.91032
                  Iteration 26:  log likelihood = -239.91032
                  Iteration 27:  log likelihood = -239.91032
                  Iteration 28:  log likelihood = -239.91032
                  Iteration 29:  log likelihood = -239.91032
                  Iteration 30:  log likelihood = -239.91032
                  Iteration 31:  log likelihood = -239.91032
                  Iteration 32:  log likelihood = -239.91032
                  Iteration 33:  log likelihood = -239.91032
                  Iteration 34:  log likelihood = -239.91032
                  Iteration 35:  log likelihood = -239.91032
                  Iteration 36:  log likelihood = -239.91032
                  Iteration 37:  log likelihood = -239.91032
                  Iteration 38:  log likelihood = -239.91032
                  Iteration 39:  log likelihood = -239.91032
                  Iteration 40:  log likelihood = -239.91032
                  Iteration 41:  log likelihood = -239.91032
                  Iteration 42:  log likelihood = -239.91032
                  Refining estimates:
                  Iteration 0:   log likelihood = -239.91032
                  Iteration 1:   log likelihood = -239.91032
                  Iteration 2:   log likelihood = -239.91032
                  
                  Cox regression -- Breslow method for ties
                  
                  No. of subjects =          230                  Number of obs    =         230
                  No. of failures =           57
                  Time at risk    =   451.075333
                                                                  LR chi2(12)      =       47.64
                  Log likelihood  =   -239.91032                  Prob > chi2      =      0.0000
                  
                  --------------------------------------------------------------------------------------------
                                          _t | Haz. Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
                  ---------------------------+----------------------------------------------------------------
                                 probableCAA |   3.570579   1.708572     2.66   0.008     1.397741    9.121169
                                         Age |   1.008711   .0168383     0.52   0.603     .9762422    1.042259
                                             |
                                      Center |
                                   CHU Caen  |   .4492527   .5534549    -0.65   0.516     .0401658    5.024869
                              Klinikum Graz  |   5.265094   4.053492     2.16   0.031     1.164348    23.80836
                                     Lisbon  |   3.110099   3.142451     1.12   0.261     .4292579    22.53358
                                Mayo Clinic  |    2.82654   2.215467     1.33   0.185     .6082415    13.13513
                            CHU Montpellier  |   2.346713   2.047752     0.98   0.328     .4243243    12.97843
                         Sant Pau Barcelona  |   4.316952   3.772202     1.67   0.094     .7787313    23.93133
                    Royal Adelaide Hospital  |   1.382714   1.173103     0.38   0.702      .262161     7.29284
                                  Argentina  |   1.182027   1.185384     0.17   0.868     .1655801    8.438131
                        Beth Israel Harvard  |   2.03e-19          .        .       .            .           .
                  Monash University Austr..  |    8.78006   6.800646     2.80   0.005     1.923953    40.06827
                               Emory Clinic  |   19.24168   20.21479     2.81   0.005     2.454672    150.8316
                  --------------------------------------------------------------------------------------------
                  To see which centres have any of outcome variables:


                  Code:
                  tab Center ICH_FU_5y 
                  
                                        |       ICH_FU_5y
                                 Center |         0          1 |     Total
                  ----------------------+----------------------+----------
                                   UCLH |        19          2 |        21 
                               CHU Caen |        18          3 |        21 
                          Klinikum Graz |        20         12 |        32 
                                 Lisbon |         6          2 |         8 
                            Mayo Clinic |        20         10 |        30 
                        CHU Montpellier |         9          4 |        13 
                     Sant Pau Barcelona |        17          5 |        22 
                  Royal Adelaide Hospit |        26          5 |        31 
                              Argentina |        19          2 |        21 
                    Beth Israel Harvard |        18          0 |        18 
                  Massachusettes Genera |        12          2 |        14 
                  Monash University Aus |        13         12 |        25 
                           Emory Clinic |        30          6 |        36 
                  ----------------------+----------------------+----------
                                  Total |       227         65 |       292 
                  
                  
                  . tab Center IS_FU_5y 
                  
                                        |       IS_FU_5y
                                 Center |         0          1 |     Total
                  ----------------------+----------------------+----------
                                   UCLH |        19          2 |        21 
                               CHU Caen |        20          1 |        21 
                          Klinikum Graz |        22         10 |        32 
                                 Lisbon |         8          0 |         8 
                            Mayo Clinic |        27          3 |        30 
                        CHU Montpellier |        11          2 |        13 
                     Sant Pau Barcelona |        22          0 |        22 
                  Royal Adelaide Hospit |        28          3 |        31 
                              Argentina |        19          2 |        21 
                    Beth Israel Harvard |        18          0 |        18 
                  Massachusettes Genera |        14          0 |        14 
                  Monash University Aus |        24          1 |        25 
                           Emory Clinic |        36          0 |        36 
                  ----------------------+----------------------+----------
                                  Total |       268         24 |       292 
                  
                  
                  . tab Center recurrent_cSAH_5y  
                  
                                        |   recurrent_cSAH_5y
                                 Center |         0          1 |     Total
                  ----------------------+----------------------+----------
                                   UCLH |        17          4 |        21 
                               CHU Caen |        21          0 |        21 
                          Klinikum Graz |        19         13 |        32 
                                 Lisbon |         8          0 |         8 
                            Mayo Clinic |        22          8 |        30 
                        CHU Montpellier |        13          0 |        13 
                     Sant Pau Barcelona |        19          3 |        22 
                  Royal Adelaide Hospit |        26          5 |        31 
                              Argentina |        20          1 |        21 
                    Beth Israel Harvard |        15          3 |        18 
                  Massachusettes Genera |        14          0 |        14 
                  Monash University Aus |        19          6 |        25 
                           Emory Clinic |        36          0 |        36 
                  ----------------------+----------------------+----------
                                  Total |       249         43 |       292 
                  
                  
                  . tab Center Death_5y 
                  
                                        |       Death_5y
                                 Center |         0          1 |     Total
                  ----------------------+----------------------+----------
                                   UCLH |        21          1 |        22 
                               CHU Caen |        19          2 |        21 
                          Klinikum Graz |        23          9 |        32 
                                 Lisbon |         5          3 |         8 
                            Mayo Clinic |        27          9 |        36 
                        CHU Montpellier |        10          1 |        11 
                     Sant Pau Barcelona |        16          5 |        21 
                  Royal Adelaide Hospit |        22          9 |        31 
                              Argentina |        21          0 |        21 
                    Beth Israel Harvard |        11          0 |        11 
                  Massachusettes Genera |        13          0 |        13 
                  Monash University Aus |        20          5 |        25 
                           Emory Clinic |        31          9 |        40 
                  ----------------------+----------------------+----------
                                  Total |       239         53 |       292
                  So in the case of ICH on FU, centres without observations are also included in the multivariable model somehow. With the stcox multivariable analysis we wanted to do a pooled analysis rather then a multivariable analysis and therefore I think the variable center should not be added? In a second step I was told show the event by centre (and getting measurement of heterogeneity) using forest plots, correcting for the variables used in the pooled analysis. (I should maybe have mentioned that of course we have done the KM survival curves before). I was aware that variables without an outcome would not feature in the plot (although I know now that I can still list them, thank you) but I thought that all the others should. I still don't understand why centres with events and with no missing data on the adjusted variables are not added in the forest plot. For example again ICH on follow-up: ULCH had 2 events. Both patients with events have the information on both probable CAA an age available. But still the variables is not added to the forest plot. If an argument would be that its because of not having many events, which I hope it should not be, then Mayo clinic: 10 events and all of them have information on Age and probable CAA present but it still is not present in the forest plot. Why is that?

                  I think I now understand what the forest plot actually presents, I think I looked at it the wrong way. So if I understand correctly it actually presents the coefficient for a predictor in relation to the outcome variabel by centre corrected for other variables added. So if I would like to know the coefficient for all of these variables I would have to create several different forest plots for the same outcome, depending on how many variables I add, right? If that is right than I think I was told to do the forest plot for the wrong reasons but still the its doesn't explain why not all centres are listed
                  I am really sorry if I am too basic.

                  You mentioned xi is not necessary anymore. But how to I get the overall p value of the categorical variable if not using xi?

                  I hope I explained appropriately what I mean. Apologies if I haven't.

                  Kind regards,

                  Isabel

                  Comment


                  • #10
                    Hi Isabel,

                    With the stcox multivariable analysis (e.g. stcox probableCAA Age i.Center), you are fitting a single model to your entire dataset. Putting aside for a moment your question as to whether i.Center should be included, the fact that the entire dataset is used means that it is less likely to have sparse data in a particular subgroup (whether of center, or of outcome, or of a covariate grouping) and hence the model as a whole is more likely to fit successfully. This is indeed what you saw. But ipdmetan is splitting the data up into small chunks, and attempting to fit a series of models using the data from one chunk at a time. Hence, these models are more likely to fail. As I explained in previous posts, this failure is at heart a function of stcox rather than ipdmetan: in practice, sometimes you simply can't successfully fit a given model to given data. Looking at tables of counts (as in your post) may suggest potential presence or absence of a problem, but it's not as black-and-white as that (for example, survival analysis has a time element; i.e. when failures occurred can sometimes make the difference between success and failure of model fit).

                    Now, the inclusion of i.Center in your multivariate model means that you are allowing the survival to differ by center; but you are estimating a single (pooled/overall) value for each of your coefficients. This is (roughly speaking) equivalent to "averaging" coefficient estimates across centers; i.e. a meta-analysis. Hence, such a model is termed a "one-stage meta-analysis" model. Whether or not i.Center should be included depends upon whether your study design/analysis plan considers Centers to be separate entities, with potential differences (albeit not too large!) in patient population, how the treatment was given, length of follow-up, and so on. Or whether you consider Centers to be under the same protocol, e.g. different hospitals recruiting into the same trial; in which case there should be minimal differences between centers. If the latter, i.Center may not be necessary -- it would be acceptable for e.g. an RCT primary analysis not to do this, depending on context. Hence, your statement "With the stcox multivariable analysis we wanted to do a pooled analysis rather then a multivariable analysis and therefore I think the variable center should not be added?" is confused. The term "pooled analysis" doesn't really mean anything. What matters is, as I explained above, how you are considering these Centers in your study design/analysis plan.

                    "So if I would like to know the coefficient for all of these variables I would have to create several different forest plots for the same outcome, depending on how many variables I add, right?"

                    This is correct. And personally I would advise against this, in favour of selecting the "most important" variable(s) and concentrating on producing forest plots for these, adjusting (or not) for the other covariates. And further, given all this, I would advise thinking carefully about why forest plots are necessary. What aspect of the data, specifically, do you wish to highlight? There may be more suitable alternatives.

                    "You mentioned xi is not necessary anymore. But how to I get the overall p value of the categorical variable if not using xi?"

                    In much the same way as before. You ran the following:
                    Code:
                    . xi: stcox probableCAA Age i.Drinker HTN OAC
                    . testparm _IDrinker_1 _IDrinker_2
                    whereas the modern Stata equivalent would be:
                    Code:
                    . stcox probableCAA Age i.Drinker HTN OAC
                    . testparm 1.Drinker 2.Drinker
                    See help fvvarlist.


                    Best wishes,

                    David.

                    Comment


                    • #11
                      Dear David,

                      ahhhhhh. I think I get it now. I looked at it the wrong way. As for adjusting for center: you were right. I will have to adjust for the center as we didn't use a standardised questionnaire as the data was collected retrospectively in many cases. So for the pooled analysis I have to correct for the different centres. I will not be able to use ipdmetan because when the data is indeed split some center have categories that have 0 observations. As its a ratio that is calculated these wont be included. And no, I don't think that forest plot are particularly helpful in my case. I used them because I was told to use them, which is not the right reason.

                      Thanks a lot for your help and explanation.

                      Kind regards,

                      Isabel

                      Comment


                      • #12
                        PS: one last question: what is the right was to account for different centres? I have two options but they give different results:
                        Option 1:
                        Code:
                        stcox  probableCAA Age i.Center
                        Option 2:
                        Code:
                        stcox  probableCAA Age, shared (Center)

                        Comment

                        Working...
                        X