如何在SAS中构造不等类宽的直方图?

如何在SAS中构造不等类宽的直方图?,sas,Sas,我正试图在sas中借助proc单变量创建直方图。但它给我的直方图具有相同的类宽度。假设我想要一个直方图,第一类间隔从1到10,第二类间隔从10到100。 我试着用- proc univariate data=sasdata1.dataone; var sum; histogram sum/ midpoints=0 to 10 by 10 10 to 100 by 90 ;run; 但这是行不通的。做这件事的正确方法是什么?据我所知,你不能用单变量,但任何SGPLOT/GPLOT/等程序都

我正试图在sas中借助proc单变量创建直方图。但它给我的直方图具有相同的类宽度。假设我想要一个直方图,第一类间隔从1到10,第二类间隔从10到100。 我试着用-

 proc univariate data=sasdata1.dataone;
 var sum;
 histogram sum/ midpoints=0 to 10 by 10 10 to 100 by 90 ;run;

但这是行不通的。做这件事的正确方法是什么?

据我所知,你不能用单变量,但任何SGPLOT/GPLOT/等程序都可以;只需将数据放入一个分类变量中,然后将该变量变为VBAR即可

如果您对频率(而不是百分比)没有意见,这将起作用:

data test;
set sashelp.class;
do _t = 1 to floor(ranuni(7)*20);
 age=age+floor(ranuni(7)*10);
 output;
end;
run;

proc format;
value agerange
low-12 = "Pre-Teen"
13-14 = "Early Teen"
15-18 = "Teen"
19-21 = "Young Adult"
22-high = "Adult";
quit;


ods graphics on;
ods preferences;
proc sgplot data=test;
format age agerange.;
vbar age;
run;
我相信如果你需要百分比,你会希望先处理FREQ或将数据制成表格,然后再绘制(或GPLOT)结果

我确实找到了一份工作。 代码可以在