03-30-2016 04:57 PM
I am using proc surveylogistic and place my code below. However, I am receiving the following message in my log.
"Only one cluster in a stratum. The estimate of variance will omit this stratum"
proc surveylogistic data = Mylib.newbrfss_subgroup2; Class Age65older (ref='1') _EDUCAG (ref='1') _INCOMG (ref='1') _RFBMI5 (ref='2') _IMPRACE (ref='1') _SMOKER3 (ref='4') _ASTHMS1 (ref='3') /param=ref ; Domain Nonsmoker; Strata _Ststr; Cluster _Psu; Weight _LLCPWT; model MISS_AnyTeeth (event='1')= Fem_NoDrinker Fem_ModDrinker Fem_HeavyDrinker Male_NoDrinker Male_ModDrinker Male_HeavyDrinker Age65older _EDUCAG _INCOMG _DENVST2 _RFBMI5 _IMPRACE DIABETE3 _SMOKER3 _ASTHMS1 CVDSTRK3 ; run;
03-30-2016 05:16 PM
proc freq data = Mylib.newbrfss_subgroup2;
tables Nonsmoker * _Ststr * _psu / list;
If one or more lines has a freq of 1 those are the culprits. If there is only one _psu then there is NO variability within the stratum.
You may have to include a WHERE clause for the class variables to be non-missing.
It may be that your Nonsmoker is very unbalanced in some geographic area (_ststr), assuming nonsmoker is basically a yes/no value of some sort.
03-30-2016 06:27 PM
Dangerous to be running procs without understanding the options.
Domain requests an analysis for each level of the variable (subpopulation) in addition to the whole data set.
I would expect to get output related to 1) Non-smoker respondents (from the name of the variable) 2) Smokers (if that is another level) and possibly 3) indeterminate respondents (refused or did not answer enough questions to know the smoking status).