I am looking at the differences in wages for specific occupations by marital status. Note marital status is coded as 0=married, 1=single, 2=divorced/separated/widowed. My code for the regression is:

xi: svy, subpop(if occ1==1): glm wages i.maritalstatus age agesq experience female i.race metro hrsworked familyincome, family(gamma) link(log)

After running the above (which runs successfully), I try to get the predicted mean wages for specific occupation by marital status for female. My code is as follows:

margins, dydx(maritalstatus) subpop(if occ1==1) at(female==1)

The margins command is unable to recognize maritalstatus as a categorical variable and gives me the following error:

invalid dydx() option;
'maritalstatus' not found in list of covariates


What am I doing wrong? Thank you for your help.