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;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.