Проблема статистики с использованием SAS — Как я могу задать входные данные, которые задаются в виде диапазона?

#statistics #sas #histogram

Вопрос:

введите описание изображения здесь

Я хочу использовать код SAS для решения этой проблемы, но я не знаю, как задать свой ввод, так как он задан в виде диапазона. Кроме того, как я могу использовать этот диапазон для построения гистограммы распределения частот. Помогите, пожалуйста. Спасибо!

Ответ №1:

Вы можете ввести его напрямую, datalines используя a | в качестве разделителя (мы делаем это, потому что в имени диапазона зарплат есть пробелы). sgplot построит гистограмму, и freq=count опция покажет sgplot , сколько наблюдений приходится на диапазон.

 data have;
    length salary_range $16.;
    infile datalines dlm='|';
    input salary_range$ count;
    datalines;
25,000 to 29,999|12
30,000 to 34,999|23
35,000 to 39,999|37
40,000 to 44,999|19
45,000 to 49,999|15
50,000 to 54,999|9
;
run;

proc sgplot data=have;
    vbar salary_range / freq=count stat=percent;

    label salary_range = 'Salary Range';
run;
 

введите описание изображения здесь

На практике у вас будут необработанные данные, и вы захотите использовать format инструкцию для создания своих ячеек. Например:

 data have;
    do i = 1 to 100;
        salary = rand('normal', 35000, 2000);

        if(salary < 25000) then salary = 25000;
        if(salary > 54999) then salary = 54999;
        output;
    end;

    drop i;
run;

proc format;
    value salaryRange
        25000 - 29999 = '25,000 to 29,999'
        30000 - 34999 = '30,000 to 34,999'
        35000 - 39999 = '35,000 to 39,999'
        40000 - 44999 = '40,000 to 44,999'
        45000 - 49999 = '45,000 to 49,999'
        50000 - 54999 = '50,000 to 54,999'
    ;
run;

proc sgplot data=have;
    histogram salary;

    label salary = 'Salary Range';
    format salary salaryRange.;
run;