When I specify
ods output IRT.ItemInfo.ItemInfoCurve=II;
the output data set seems to be stacked (~100 lines per item), but with no indication about which item provides which values ?
You are correct: that output is unclear and difficult to work with.
By looking at the output data, you can see that each curve is represented by 101 points. Therefore if you create a new variable PlotNum=ceil(_N_/101), you will correctly identify the curves.
Here is an example that uses the data in the Getting Started example in the PROC IRT documentation:
proc irt data=IrtBinary plots(unpack)=IIC;
var item1-item10;
ods output ItemInfoCurve=II_0;
run;
data II;
set II_0;
PlotNum = ceil(_N_ / 101);
run;
proc sgpanel data=II;
panelby PlotNum / columns=3 rows=2;
series x=Trait y=ItemInfo;
run;
You are correct: that output is unclear and difficult to work with.
By looking at the output data, you can see that each curve is represented by 101 points. Therefore if you create a new variable PlotNum=ceil(_N_/101), you will correctly identify the curves.
Here is an example that uses the data in the Getting Started example in the PROC IRT documentation:
proc irt data=IrtBinary plots(unpack)=IIC;
var item1-item10;
ods output ItemInfoCurve=II_0;
run;
data II;
set II_0;
PlotNum = ceil(_N_ / 101);
run;
proc sgpanel data=II;
panelby PlotNum / columns=3 rows=2;
series x=Trait y=ItemInfo;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.