BookmarkSubscribeRSS Feed
Rover17
Obsidian | Level 7

Hi All,

 

I am struggling with calling the following SAS macro. Can someone please help me figure this out. In a report, the authors only provide the following statements.

 

Thank you

 

%macro lrdif_es(data, items, group, criterion, exo_con=, exo_cat=,
sig_level=0.05, RS_D_crit_B=0.035, RS_D_crit_C=0.070, RS_P_crit_B=0.035,
RS_P_crit_C=0.070, foc_size=100, ref_size=100, combined_size=400,
outfile=LRDIF, plot=NO, size_ratio=0, out_parameter=0);

 

%lrdif_es(data=sample, items=item1-item8, group=gender black, exo_con=income
age, exo_cat=parent_education state, criterion = score, outfile=results,
plot=yes)

5 REPLIES 5
Quentin
Super User

Hi, your question is not clear.  The first statement is the beginning of the definition of a macro named lrdif_es.

 

The second statement is an example of calling the macro.

 

What is the problem you're having? Did you try calling the macro, and get an error?  If so, what error did you get (please show the log)? 

The Boston Area SAS Users Group is hosting free webinars!
Next webinar will be in January 2025. Until then, check out our archives: https://www.basug.org/videos. And be sure to subscribe to our our email list.
Rover17
Obsidian | Level 7

Hi Quentin,

Thank you for following up. I will provide the log output after I provide some additional background. The lrdif_es macro was created by a SAS user, and presented in a report that can be found here: https://www.ets.org/Media/Research/pdf/RM-16-17.pdf

My SAS log result shows the following:

 

159 %lrdif_es(data=Middle.Final_Middle_Sample_All_DIF,
MLOGIC(LRDIF_ES): Beginning execution.
160 items= &HT_A_CFA_Items ,
SYMBOLGEN: Macro variable HT_A_CFA_ITEMS resolves to _3410 _3413 _3415 _3422 _3424 _3425
_3426 _3438 _3443 _3465
161 group=Male_Female Male_Other White_AfrAmer White_Hispanic White_AmerIndAlask
161! White_Asian White_NatHaPaI White_IndicOther White_Unknown,
162 criterion=HT_A_rawscore,
163 sig_level=0.00555,
164 RS_P_crit_B=0.035,
165 RS_P_crit_C=0.070,
166 outfile=Middle.LRDIF_Holland_Type_A_Middle,
167 plot=yes);
MLOGIC(LRDIF_ES): Parameter DATA has value Middle.Final_Middle_Sample_All_DIF
MLOGIC(LRDIF_ES): Parameter ITEMS has value _3410 _3413 _3415 _3422 _3424 _3425 _3426
_3438 _3443 _3465
MLOGIC(LRDIF_ES): Parameter GROUP has value Male_Female Male_Other White_AfrAmer White_Hispanic
White_AmerIndAlask White_Asian White_NatHaPaI White_IndicOther White_Unknown
MLOGIC(LRDIF_ES): Parameter CRITERION has value HT_A_rawscore
MLOGIC(LRDIF_ES): Parameter SIG_LEVEL has value 0.00555
MLOGIC(LRDIF_ES): Parameter RS_P_CRIT_B has value 0.035
MLOGIC(LRDIF_ES): Parameter RS_P_CRIT_C has value 0.070
MLOGIC(LRDIF_ES): Parameter OUTFILE has value Middle.LRDIF_Holland_Type_A_Middle
MLOGIC(LRDIF_ES): Parameter PLOT has value yes
MLOGIC(LRDIF_ES): Ending execution.

 

I get no error message and no results. 

 

Thank you

Kurt_Bremser
Super User

This looks like the log of an empty macro (when there is nothing between the %MACRO and %MEND statements).

In the paper, I do not see any actual macro code or a link to a resource where it can be downloaded.

From where did you get the macro code?

Rover17
Obsidian | Level 7

Thanks Kurt,

I was thinking this was a utility macro within the SAS system, like the %ds2csv macro.

So, are you suggested that I need to ask the authors for the actual macro code? I don't have it.

Regards

 

Tom
Super User Tom
Super User
From the PDF file you posted the link for:
 
 
To obtain a copy of an ETS research report, please visit
Action Editor:
James Carlson
Reviewers:
Guangming Ling and Lixiong Gu
Copyright © 2016 by Educational Testing Service. All rights reserved.
ETS, the ETS logo, MEASURING THE POWER OF LEARNING are registered trademarks of Educational Testing
Service (ETS). All other trademarks are the property of their respective owners.
 
 

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 5 replies
  • 439 views
  • 0 likes
  • 4 in conversation