SAS --- как создать график гистограмм с определенным интервалом в определенном диапазоне - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь построить график гистограммы с помощью proc univariate.Цель состоит в том, чтобы распределить по ячейкам распределение с ячейками шириной 0,1 от 0 до 1,5, а затем все оставшиеся в одной ячейке.

Я применил следующий код, чтобы определить диапазон от 0 до 1,5, пока он не может управлять остальными.Как я могу исправить код?

proc univariate data=HAVE;
where pred between 0 and 1.5;
var pred;
histogram pred/ vscale=percent midpoints=0 to 2 by 0.1 normal (noprint);
run;

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018
  1. Создайте свои собственные группы
  2. Создайте формат, чтобы он отображал, как вы хотите
  3. Постройте его с помощью SGPLOT

    *create your own groups for data, especially the last group;
    data mileage;
    set sashelp.cars;
    mpg_group=floor(mpg_highway / 10);
    
    if mpg_group in (5, 6, 7) then
        mpg_group=5;
    keep mpg_highway mpg_group;
    run;
    
    *format to control display;
    
    proc format;
    value mpg_fmt 1='0 to 10' 2='11 to 20' 3='21 to 30' 4='31 to 40' 5='40+';
    run;
    
    *plot the data;
    proc sgplot data=mileage;
    vbar mpg_group /stat=freq barwidth=1;
    format mpg_group mpg_fmt.;
    run;
    
0 голосов
/ 19 декабря 2018

Вы можете попробовать что-то вроде следующего кода, чтобы объединить две гистограммы, создав две переменные из одной переменной:

/*Temporary DS with values ranging from 01. to 2.0*/
data have;
do i=0.1 to 2.0 by 0.1;
    output;
end;
rename i=pred;
run;

/*Creating two variables x(0.1-1.5) and y(1.6-2.0)*/
data have;
 set have;
 if pred<1.6 then x=pred;
 else y=pred;
 drop pred;
run;

/*Combine two Histograms*/
proc sgplot data=have;
   histogram x / nbins=15 binwidth=0.1;
   density x / type=normal;
   histogram y / nbins=5 binwidth=1.0;
   density y / type=normal;
   keylegend / location=inside position=topright noborder across=2;
   xaxis display=(nolabel) values=(0.1 to 2.5 by 0.1);
run;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...