turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- SAS Programming
- /
- SAS Procedures
- /
- Default parameterization in PROC SURVEYREG?

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

03-15-2012 12:27 PM

If I'm using a CLASS statement within PROC SURVEYREG, is the default paramterization reference coding? Is there any way to change this, as you can with PROC LOGISTIC?

Accepted Solutions

Solution

03-15-2012
01:22 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

03-15-2012 01:22 PM

As far as I can tell from the doc, proc surveyreg uses the same parameterization as proc glm. To view the model variables, you could use the model / e option of proc glm or (I guess) use proc glmmod.

SAS seems to suggest that you don't need to know the exact level ordering with their "non-positional" coefficients ordering, but it seems quite complicated:

PG

PG

All Replies

Solution

03-15-2012
01:22 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

03-15-2012 01:22 PM

As far as I can tell from the doc, proc surveyreg uses the same parameterization as proc glm. To view the model variables, you could use the model / e option of proc glm or (I guess) use proc glmmod.

SAS seems to suggest that you don't need to know the exact level ordering with their "non-positional" coefficients ordering, but it seems quite complicated:

PG

PG

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

03-15-2012 03:42 PM

Thanks. I actually found the non-positional syntax ordering infinitely more intuitive than the positional syntax, and I was able to set up an ESTIMATE statement using this syntax.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

03-15-2012 05:16 PM

The strangest thing in the world just happened...my ESTIMATE statement with SURVEYREG was working perfectly. I closed SAS and came back, ran it again, and now the ESTIMATE statement is giving me 'non-estimable.' I'm also now getting a NOTE in the log that says:

NOTE: The structure of the Estimates table has changed from an earlier release of SAS.

I'm running SAS 9.2. It's really weird that SURVEYREG was able to run this and is now unable to! My code hasn't changed. Any ideas?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

03-15-2012 05:31 PM

There as so many things that could have gone wrong... Check, if you can, that the observation count is the same as before. You can also use the /E option in the ESTIMATE statement to get the coefficients.

PG

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

03-15-2012 06:43 PM

Nope, that's the same. It's the weirdest thing. Anyways, perhaps I could ask how I might go about writing the ESTIMATE statement...I have a linear model with 10 beta's and I'm trying to do an ESTIMATE statement to test the hypothesis that beta7+beta8+beta9 = 0.

HAVEUSCiy = intercept + B1*YEAR2y + B2*LOSSOFINSURANCEi + B3*DROPOUTOFSCHOOLi + B4*MOVEi + B5*DROPOUTOFSCHOOLI*MOVEi +

B6* LOSSOFINSURANCEi *YEAR2 + B7*DROPOUTOFSCHOOLi* YEAR2y + B8*MOVEi*YEAR2y + B9*DROPOUTOFSCHOOLi * MOVEi * YEAR2y + Covariates

Without getting too much into the model details, the important things to know are that DROPOUTOFSCHOOL is continuous, YEAR2y is dichotomous (0/1), and MOVEi is dichotomous (0/1). This was the code (using non-positional syntax) that was working, but now is not. How would I go about writing this hypothesis statement in an ESTIMATE statement using positional syntax?

proc surveyreg data = datafile;

weight longwt;

strata varstr;

cluster varpsu;

class move year2 sex race regiony1 msay1 panel;

model haveusc = dropoutofschool lossofinsurance move year2 dropoutofschool * move

lossofinsurance * year2 dropoutofschool * year2 move * year2 dropoutofschool * move * year2

agebeginning_years sex race regiony1 msay1 panel /solution;

estimate 'Beta7+Beta8+Beta9' dropoutofschool*year2 [1, 1 1] move*year2 [1,1 1] dropoutofschool*move*year2 [1, 1 1 1 1] /e;

run;

Thanks.