我需要创建一个时间序列图(目前使用 PROC SGPLOT)来绘制 2000 年至 2010 年工作场所事件的每月计数。
我遇到的问题是我不知道如何组织数据以使 xaxis 显示年份和月份。
一开始我有以下变量:DATE、YEAR、MONTH、INCIDENT_ID。
我成功地使用 PROC SQL 创建了按年份和月份分组的不同 INCIDENT_ID 计数(称为“COUNT”)。 然后,我使用 YEAR 或 MONTH 作为 x 轴未能成功创建 PROC SGPLOT,但这无法正确绘制 COUNT。 然后,我尝试按年、月对数据集进行排序,并创建一个 TIME_ID 变量将它们按顺序排列,并尝试使用它作为 x 轴。虽然它正确地绘制了 COUNT,但它没有提供可理解的 x 轴。
因此,我想在 PROC SGPLOT 系列中绘制计数 (COUNT),但是我应该使用什么作为 x 轴来让它显示 COUNT 的年份和/或月份?或者有其他明显的方法可以做到这一点吗?
最佳答案
您需要指定MONYY7。日期变量的格式。然后在 x 轴上指定月份间隔。
像这样:
data test;
format date monyy7.;
count = 0;
do year=2010 to 2013;
do month=1 to 12;
count = count + ceil(ranuni(123)*2);
date = mdy(month,1,year);
output;
end;
end;
run;
ods html;
ods graphics on / HEIGHT=10in;
proc sgplot data=test;
scatter x=date y=count;
xaxis interval=month fitpolicy=rotate;
run;
ods html close;
我必须调整图像大小以使轴标签可读。我还旋转了它们,以便可以容纳更多。
关于graph - 在 SAS 中创建每月计数数据以在 SGPlot 中使用 - 需要年/月 xaxis 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21152339/