When I run the code for the table the variables: w1evsmk w1evdrk w1_hgt_in w1cursmk don't show the data and instead, it just shows points (.). What I am doing wrong?
DATA work.lab1;
SET saslab.da21600p1;
If H1TO1 = 1 and H1TO2 ^= 0 then w1evsmk=1;
else if H1TO1 = 0 or H1TO2 = 0 then w1evsmk=0;
label w1evsmk = Wave 1 - ever smoked a whole cigarette;
if H1TO3 = 1 then dailysmkev=1;
else if H1TO3=0 or ne 6 then dailysmkev=0;
label dailysmkev = ever smoked daily for at least 30 days;
if w1evsmk=1 then do;
if H1TO5 ge 1 and H1TO5 lt 32 then days_smk=h1TO5;
label days_smk = number of days smoked in past month among ever smokers;
if H1TO7 lt 90 then num_cigs = H1TO7;
label num_cigs = number cigarettes per day in past 30 days;
if w1evsmk = 1 and days_smk gt 0 then w1cursmk=2;
else if w1evsmk = 1 then w1cursmk=1;
else if w1evsmk = 0 then w1cursmk=0;
label w1cursmk = current, former, or never smoker;
if h1to12 =1 then w1evdrk=1;
else if h1to12=0 then w1evdrk=0;
label w1evdrk = Wave 1 - ever had more than 2-3 drinks;
if h1to30 in (0) then w1evmj=0;
else if h1to30 not in (96, 99) then w1evmj=1;
label w1evmj = Wave 1 - ever tried marijuana;
if h1to34 = 0 then w1evcocaine=0;
else if h1to34 not in (96, 99) then w1evcocaine = 1;
label w1evcocaine = Wave 1 - ever tried cocaine;
if pa56 = 1 then poverty=0;
else if pa56=0 then poverty=1;
label poverty = parent reported not enough money to pay bills;
if w1_hgt_in=(H1GH59A*12) + H1GH59B;
LABEL w1_hgt_in = total height in inches at Wave 1;
if H1GH60 le 360 then w1_wgt = H1GH60;
LABEL w1_wgt = Self-reported weight in lbs at Wave 1;
keep AID w1evsmk w1evdrk w1evmj w1_hgt_in w1_wgt w1cursmk ethrace male;
END;
RUN;
PROC FREQ DATA=work.lab1;
Tables w1evsmk w1evdrk w1_hgt_in ethrace w1cursmk / list missprint;
FORMAT ethrace;
RUN;