Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Using different OMS outfiles in a Macro

38 views
Skip to first unread message

A

unread,
Feb 3, 2011, 7:33:45 AM2/3/11
to
Hi,

I need to run univariate linear regressions on a number of different
files with a number of different dependent and predictor variables. I
also want to save the coefficients and model summary from each
regression to compare them later. The first macro I've come up with is
this:

SET MPRINT OFF.
DEFINE LINREGR1 (X=!CHAREND("/")
/Y=!CMDEND).

OMS SELECT TABLES
/IF COMMANDS=['REGRESSION'] SUBTYPES = ['COEFFICIENTS' ]
/DESTINATION FORMAT = SAV NUMBERED="TN" OUTFILE='F:\my data
\folder1\type1_R1a.sav'.
OMS SELECT TABLES
/IF COMMANDS=['REGRESSION'] SUBTYPES = ['MODEL SUMMARY' ]
/DESTINATION FORMAT = SAV NUMBERED="TN" OUTFILE='F:\my data
\folder1\type1_R1b.sav'.

!DO !I !IN (!X)
!DO !J !IN (!Y)
REGRESSION
/MISSING LISTWISE
/STATISTICS COEFF OUTS CI R ANOVA
/CRITERIA=PIN(.05) POUT(.10)
/NOORIGIN
/DEPENDENT !I
/METHOD=ENTER !J.
!DOEND
!DOEND

OMSEND.
!ENDDEFINE.

SET MPRINT ON.
LINREGR1 X= Var1 /Y= Var2 Var3 Var4.

This macro works fine, but I wanted to improve it with a variable for
the outfile destination, so I changed it to this:

SET MPRINT OFF.
DEFINE LINREGR1 (FOLDER=!TOKENS(1)
/X=!CHAREND("/")
/Y=!CMDEND).

OMS SELECT TABLES
/IF COMMANDS=['REGRESSION'] SUBTYPES = ['COEFFICIENTS' ]
/DESTINATION FORMAT = SAV NUMBERED="TN" OUTFILE=!QUOTE(!CONCAT(!
UNQUOTE('F:\my data\'),!UNQUOTE(!FOLDER),!UNQUOTE('_R1a.sav'))).

OMS SELECT TABLES
/IF COMMANDS=['REGRESSION'] SUBTYPES = ['MODEL SUMMARY' ]
/DESTINATION FORMAT = SAV NUMBERED="TN" OUTFILE=!QUOTE(!CONCAT(!
UNQUOTE('F:\my data\'),!UNQUOTE(!FOLDER),!UNQUOTE('_R1b.sav'))).

!DO !I !IN (!X)
!DO !J !IN (!Y)
REGRESSION
/MISSING LISTWISE
/STATISTICS COEFF OUTS CI R ANOVA
/CRITERIA=PIN(.05) POUT(.10)
/NOORIGIN
/DEPENDENT !I
/METHOD=ENTER !J.
!DOEND
!DOEND

OMSEND.
!ENDDEFINE.

SET MPRINT ON.
LINREGR1 FOLDER='folder1\type1' /X= Var1 /Y= Var2 Var3 Var4.

I think the string for the outfile destination works ok, but it won't
run the regressions anymore. It just jumps to omsend. Can anybody
help? What am I doing wrong?

Thanks,
Anna

baiyun

unread,
Feb 7, 2011, 7:39:56 AM2/7/11
to

Hi,

you should write:

LINREGR1 FOLDER='folder1\type1' X= Var1 /Y= Var2 Var3 Var4.

baiyun

A

unread,
Feb 8, 2011, 4:08:51 AM2/8/11
to

Thank you,
it's working fine now.

0 new messages