------------------------------------------------------------------------------------------------------------- name: log: C:\MyDocs\MPH\LectureNotes\ClassDoLogData\Survival\Framingham.Spline2.log log type: text opened on: 3 Nov 2009, 10:55:21 . * Framingham.Spline2.log . * . * Proportional hazards regression analysis of the effect of gender and . * baseline diastolic blood pressure (DBP) on coronary heart disease (CHD) . * adjusted for age, body mass index (BMI) and serum cholesterol (SCL). . * Use restricted cubic splines to model the effect of DBP on CHD risk . * Delete patients with DBP > 110. . * . set more on . set memory 2000 Current memory allocation current memory usage settable value description (1M = 1024k) -------------------------------------------------------------------- set maxvar 5000 max. variables allowed 1.909M set memory 2000k max. data space 1.953M set matsize 400 max. RHS vars in models 1.254M ----------- 5.116M . use C:\WDDtext\2.20.Framingham.dta, clear . drop if dbp > 110 (105 observations deleted) . * . * Lets use a DBP of 60 as a reference blood pressure observed for . * both men and women. . * . * Univariate analysis of the effect of DBP on CHD . * . generate time= followup/365.25 . label variable time "Follow-up in Years" . stset time, failure(chdfate) failure event: chdfate != 0 & chdfate < . obs. time interval: (0, time] exit on or before: failure ------------------------------------------------------------------------------ 4594 total obs. 0 exclusions ------------------------------------------------------------------------------ 4594 obs. remaining, representing 1417 failures in single record/single failure data 102268 total analysis time at risk, at risk from t = 0 earliest observed entry t = 0 last observed exit t = 32 . sort dbp . generate dbp60 = dbp - 60 . rc_spline dbp60 number of knots = 5 value of knot 1 = 4 value of knot 2 = 14 value of knot 3 = 20 value of knot 4 = 28 value of knot 5 = 42 . stcox _S* failure _d: chdfate analysis time _t: time Iteration 0: log likelihood = -11359.067 Iteration 1: log likelihood = -11272.964 Iteration 2: log likelihood = -11261.553 Iteration 3: log likelihood = -11261.411 Iteration 4: log likelihood = -11261.411 Refining estimates: Iteration 0: log likelihood = -11261.411 Cox regression -- Breslow method for ties No. of subjects = 4594 Number of obs = 4594 No. of failures = 1417 Time at risk = 102267.9781 LR chi2(4) = 195.31 Log likelihood = -11261.411 Prob > chi2 = 0.0000 ------------------------------------------------------------------------------ _t | Haz. Ratio Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Sdbp601 | 1.062186 .0181084 3.54 0.000 1.027281 1.098277 _Sdbp602 | .8363668 .0856028 -1.75 0.081 .6843458 1.022158 _Sdbp603 | 2.065868 .921523 1.63 0.104 .8617998 4.952204 _Sdbp604 | .4638754 .24891 -1.43 0.152 .1620529 1.32784 ------------------------------------------------------------------------------ . predict relhaz, hr . line relhaz dbp . more . predict loghaz, xb . predict se, stdp . generate logcil = loghaz - 1.96*se . generate logciu = loghaz +1.96*se . graph twoway rarea logcil logciu dbp60 || line loghaz dbp60 . more . generate cil = exp(logcil) . generate ciu = exp(logciu) . graph twoway rarea cil ciu dbp || line relhaz dbp . more . * . * truncate upper error band . * . egen maxhaz = max(loghaz) . drop ciu . generate ciuchop = exp(min(logciu,maxhaz)) . graph twoway rarea cil ciuchop dbp, color(gs14) /// > || line relhaz dbp /// > , legend(ring(0) position(11)) . more . drop relhaz loghaz se logcil logciu cil ciu maxhaz ciuchop . generate male = sex==1 . gen _Sdbp601male = _Sdbp601*male . gen _Sdbp602male = _Sdbp602*male . gen _Sdbp603male = _Sdbp603*male . gen _Sdbp604male = _Sdbp604*male . stcox _S* male age bmi scl failure _d: chdfate analysis time _t: time Iteration 0: log likelihood = -11283.512 Iteration 1: log likelihood = -10952.555 Iteration 2: log likelihood = -10935.239 Iteration 3: log likelihood = -10934.914 Iteration 4: log likelihood = -10934.914 Refining estimates: Iteration 0: log likelihood = -10934.914 Cox regression -- Breslow method for ties No. of subjects = 4553 Number of obs = 4553 No. of failures = 1409 Time at risk = 101452.9802 LR chi2(12) = 697.20 Log likelihood = -10934.914 Prob > chi2 = 0.0000 ------------------------------------------------------------------------------ _t | Haz. Ratio Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- _Sdbp601 | 1.013819 .0236402 0.59 0.556 .9685281 1.061228 _Sdbp602 | 1.055196 .1549777 0.37 0.715 .7912548 1.407181 _Sdbp603 | .6886998 .4491871 -0.57 0.567 .1918029 2.472889 _Sdbp604 | 1.83881 1.45987 0.77 0.443 .3879268 8.716133 _Sdbp601male | 1.05276 .0360691 1.50 0.133 .9843871 1.125882 _Sdbp602male | .647581 .1339574 -2.10 0.036 .4317339 .9713417 _Sdbp603male | 6.89347 6.22144 2.14 0.032 1.175488 40.4257 _Sdbp604male | .1103204 .1198643 -2.03 0.042 .0131165 .9278873 male | 1.720357 .5239377 1.78 0.075 .9470735 3.125025 age | 1.047027 .0036059 13.34 0.000 1.039983 1.054118 bmi | 1.039776 .0073698 5.50 0.000 1.025432 1.054322 scl | 1.005703 .0006022 9.50 0.000 1.004524 1.006884 ------------------------------------------------------------------------------ . replace age=0 (4594 real changes made) . replace bmi = 0 (4594 real changes made) . replace scl = 0 (4594 real changes made) . predict relhaz, hr . gen relhazmen = relhaz if male (2585 missing values generated) . gen relhazwomen = relhaz if ~male (2009 missing values generated) . line relhazmen dbp, color(blue) || line relhazwomen dbp, color(red) . more . predict loghaz, xb . gen loghazmen = loghaz if male (2585 missing values generated) . gen loghazwomen = loghaz if ~male (2009 missing values generated) . predict se, stdp . gen semen = se if male (2585 missing values generated) . gen sewomen = se if ~male (2009 missing values generated) . generate logcimenl = loghazmen - 1.96*semen (2585 missing values generated) . generate logcimenu = loghazmen + 1.96*semen (2585 missing values generated) . generate logciwomenl = loghazwomen - 1.96*sewomen (2009 missing values generated) . generate logciwomenu = loghazwomen +1.96*sewomen (2009 missing values generated) . graph twoway rarea logcimenl logcimenu dbp60 /// > || rarea logciwomenl logciwomenu dbp60 /// > || line loghazmen dbp60 /// > || line loghazwomen dbp60 . more . *!!!!! The following three lines have been commented out because logcil is undefined . *generate cil = exp(logcil) . *generate ciu = exp(logciu) . *graph twoway rarea cil ciu dbp || line relhaz dbp . more . * . * truncate upper error band . * . egen maxhaz = max(loghaz) . drop ciu variable ciu not found r(111); end of do-file r(111); . exit, clear