2013-07-16 19 views
2

我想在sas中使用proc單變量的幫助在sas中創建直方圖。但它給我直方圖具有相同的類寬度。假設我想有一流的間隔直方圖從1到10,二級區間從10至100 我試圖using-如何在SAS中構造不等寬的直方圖?

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

但是,這是行不通的。這樣做的正確方法是什麼?

回答

2

就我所知,你不能用UNIVARIATE來做,但任何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; 

我相信,如果你需要百分比,你會想PROC FREQ或先製表數據SGPLOT(或GPLOT)結果。

我確實找到了macro that can be used to create histograms with unequal endpoints。 該代碼可以在NESUG 2008 proceedings