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
- /
- Base SAS Programming
- /
- Proc GENMOD Effectplot plotby

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
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-29-2017 08:24 AM

I am using sas v9.3 proc genmod to model a continuous outcome:

```
PROC GENMOD;
class number train bl/param=glm;
model y= train age mt pn eo tncc bl;
effectplot fit (x=mt plotby=train)/obs;
repeated subject=number/type=ar rupdate=2;
run;
```

My class variable train has 8 levels, but the effectplot displays on trainer 1, 4, 5, 6, 7, and 8. Trainers 2 and 3 are ommited for some reason. If a perform a slicefit plotby train, all levels are displayed, but that isn't the graph I really want. Any reason two levels of my class variable are being omitted?

Thanks!

Katy

Accepted Solutions

Solution

12-06-2017
12:24 PM

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

Posted in reply to kivester

05-31-2017 03:50 PM

Most likely reason is that you have insufficient observations to fit a model for those levels, due to missing value in other variables. The following simulated data has a similar structure to what you have specified. Run it and see if you get 8 plots. If so, the problem is probably related to your data:

```
data have;
call streaminit(1);
do number=1 to 4;
age = 20 + ceil(20*rand("uniform"));
do train=1 to 8;
do j = 1 to 4;
mt = rand("Normal");
y = 2 + age + 3*train - mt + rand("normal");
output;
end;
end;
end;
run;
PROC GENMOD data=have;
class number train /param=glm;
model y= train age mt;
effectplot fit (x=mt plotby=train)/obs;
repeated subject=number/type=ar rupdate=2;
run;
```

All Replies

Solution

12-06-2017
12:24 PM

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

Posted in reply to kivester

05-31-2017 03:50 PM

Most likely reason is that you have insufficient observations to fit a model for those levels, due to missing value in other variables. The following simulated data has a similar structure to what you have specified. Run it and see if you get 8 plots. If so, the problem is probably related to your data:

```
data have;
call streaminit(1);
do number=1 to 4;
age = 20 + ceil(20*rand("uniform"));
do train=1 to 8;
do j = 1 to 4;
mt = rand("Normal");
y = 2 + age + 3*train - mt + rand("normal");
output;
end;
end;
end;
run;
PROC GENMOD data=have;
class number train /param=glm;
model y= train age mt;
effectplot fit (x=mt plotby=train)/obs;
repeated subject=number/type=ar rupdate=2;
run;
```