200 likes | 338 Views
Modeling the Prevalence of Breast Density Using SAS. Veronica Burt. Reading in the Data. options nofmterr ; data BCSC.data1; set BCSC.Dr238bs_sum_data_deid_v3_1012 ; run ;. Formatting the Data. proc format ; value age 1 = "40-44" 2 = "45-49" 3 = "50-54" 4 = "55-59"
E N D
Modeling the Prevalence of Breast Density Using SAS Veronica Burt
Reading in the Data optionsnofmterr; data BCSC.data1; set BCSC.Dr238bs_sum_data_deid_v3_1012; run;
Formatting the Data proc format; value age 1 = "40-44" 2= "45-49" 3= "50-54" 4= "55-59" 5= "60-64" 6= "65-69" 7= "70-74" 8= "75-79" 9= "80-84" 10= "85+"; valuebmi1 = "<18.5" 2= "18.5-<25" 3= "25-<30" 4= "30+"; valuedense 1 = "Entirely Fatty" 2= "Scattered Fibroglandular" 3= "Heterogeneously Dense" 4= "Extremely Dense";
Selecting certain observations dataBCSC.current; set BCSC.data1; ifexamyear >= 2007;
Summary Statistics by Density ods html style=journal body= 'Z:\Contingency tables with density\ current age group row'; procfreqdata=BCSC.current; tablesage_group*density_c / nocolnocumchisq; weight N; byimputation_flag; title'Frequency of Age group by BI-RADS density with row percentages'; formatage_groupage.density_cdense.; run; ods html close;
Summary Statistics by Density ods html style=journal body= 'Z:\Contingency tables with density\ current bmi row'; procfreqdata=BCSC.current; tablesbmigrp*density_c/ nocolnocumchisq; weight N; byimputation_flag; title'Frequency of BMI by BI-RADS density with row percentages'; formatbmigrpbmi.density_cdense.; run; ods html close;
Creating dummy variables /*creating dummy variables for age and restricting data to 2007-2010*/ dataBCSC.current; set BCSC.data1; ifexamyear >= 2007; _Imputation_ = imputation_flag; ifage_group = 2then age47 = 1; else age47 = 0; ifage_group = 3then age52 = 1; else age52 = 0; ifage_group = 4then age57 = 1; else age57 = 0; ifage_group = 5then age62 = 1; else age62 = 0;
Logistic Ordinal Regression /*Running logit ordinal regression for age*/ procgenmoddata=BCSC.currentrorder=internal; freq N; modeldensity_c = age47 age52 age57 age62 age67 age72 age77 age82 age87 / CovBdist=multinomial link=cumlogittype1; by _Imputation_; ods output CovB = BCSC.ageCovB; ods output ParameterEstimates = BCSC.agePE; title'Predicting density from age group Logit'; formatdensity_c dense.; run;
Aligning Parameter names /*renaming variable levels to run procmianalyze*/ dataBCSC.agePE; setBCSC.agePE; if parameter = 'age47'then parameter = 'prm1'; if parameter = 'age52'then parameter = 'prm2'; if parameter = 'age57'then parameter = 'prm3'; if parameter = 'age62'then parameter = 'prm4'; if parameter = 'age67'then parameter = 'prm5'; if parameter = 'age72'then parameter = 'prm6'; if parameter = 'age77'then parameter = 'prm7'; if parameter = 'age82' then parameter = 'prm8'; if parameter = 'age87'then parameter = 'prm9';
ProcMianalyze /*Combining the imputations for the Logit regression*/ ods html style=journal body= 'Z:\Age parameter estimates\Ordinal logit'; procmianalyzeparms=BCSC.agePEcovB=BCSC.ageCovBmult; modeleffects Intercept1 Intercept2 Intercept3 prm1 prm2 prm3 prm4 prm5 prm6 prm7 prm8 prm9; title'Treating age as ordinal using logit regression'; run; ods html close;