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)
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)?
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
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?
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
To obtain a copy of an ETS research report, please visitAction Editor:James CarlsonReviewers:Guangming Ling and Lixiong GuCopyright © 2016 by Educational Testing Service. All rights reserved.ETS, the ETS logo, MEASURING THE POWER OF LEARNING are registered trademarks of Educational TestingService (ETS). All other trademarks are the property of their respective owners.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.