Programming the statistical procedures from SAS

which is dependent variable (proc GENMOD)

Occasional Contributor
Posts: 18

which is dependent variable (proc GENMOD)

I'm trying to determine the prevalence of risk factors in a Black population compared to a reference group, but I can't figure out if the risk factor is the dependent or independent variable.

For example (Here's my 2X2 table):
____________Risk Factor

I've been calculating the RR as (34/100,000)/(26/100,000)=1.3

I interpret this to mean that the Black population is 1.3 times as likely to smoke (one of the risk factors) as the reference population.

However, when I test using proc GENMOD (NOTE: next step is to include covariates, but I wanted to test it to see if the calculated RR using a single risk factor matched my 2X2 table above) I can't get it to calculate the RR I got above (1.3). However, it does calculate to the alternative RR (34/60)/(99,966/199,940)=1.13

Here's my SAS code:

proc genmod data=dataset1;
class RiskFactor (ref='1') /param=ref;
model RefPop = RiskFactor / link=log dist=bin;
estimate 'Beta RiskFactor ' RiskFactor 1 -1/ exp;

(Note: RefPop = 0 indicates Black, RiskFactor=1 indicates risk factor present)

This seems like a really fundamental concept that I can't wrap my head around in this case. What am I doing wrong?

To take this one step further, I've planned to set up the multivariate analysis like this:

proc genmod data=dataset1;
class RiskFactor1 (ref='1') RiskFactor2 (ref='2') RiskFactor3 (ref='1') /param=ref;
model RefPop = RiskFactor1 RiskFactor2 RiskFactor3 / link=log dist=bin;
estimate 'Beta RiskFactor1 ' RiskFactor1 1 -1/ exp;
estimate 'Beta RiskFactor2 ' RiskFactor2 1 -1/ exp;
estimate 'Beta RiskFactor3 ' RiskFactor3 1 -1/ exp;

Is this correct?

Thanks for your help.
Regular Contributor
Posts: 169

Re: which is dependent variable (proc GENMOD)


You do, indeed, have your independent and dependent variables turned around in your genmod code. Your regression model would suggest that the risk factor can affect whether a respondent is black or not. This is a strange notion indeed!

You can get the RR of 1.3 with the following code:

proc genmod data=test desc;
  class RefPop (ref='1') /param=glm;
  model RiskFactor = RefPop / link=log dist=bin;
  estimate 'Beta RefPop' RefPop 1 -1/ exp;
Occasional Contributor
Posts: 18

Re: which is dependent variable (proc GENMOD)

Thanks Dale. The code you provided worked! I appreciate your help.
Occasional Contributor
Posts: 18

Re: which is dependent variable (proc GENMOD)

Hi Dale,

I'm getting an error message "Out of memory" when I run my code with the dist=poisson option. Do you know what's causing this or any work arounds?

Ask a Question
Discussion stats
  • 3 replies
  • 2 in conversation