SAS рассчитывает проценты нескольких переменных - PullRequest
0 голосов
/ 15 марта 2012

Мне нравится рассчитывать проценты для нескольких переменных.Это расчетная сумма каждой переменной (столбца) и деление суммы каждой переменной на частоту.Я попытался получить сводку процедур, чтобы получить эти две статистики и сделать массив для вычисления процентов, но значения результатов, похоже, не верны, но в журнале нет ошибок.Я видел, что proc sql может сделать процентный расчет, но я не знаю, как это сделать для нескольких переменных.- Должно быть, это не сложно, но я просто не уверен, как их перечислить.

Если вы можете указать, что я сделал не так 1) в кратком изложении, или 2) указать мне, как написатьСписок переменных SQL, это было бы здорово.спасибо,

Вот код, который я написал:

1)

proc summary data=m3resp;
 var Lma1-Lma69;
 output out=sumofLma sum=sumLma1-sumLma69;
run;

data sumLmaout;
 set sumoflma;
 array pctma[69];
 do i=1 to 69;
  pctma[i]=input(cat(sumLma,i),5.)/_freq_;
 end;
 drop i;
run;

2)

PROC SQL;
 SELECT Lma1
 (Lma1/SUM(Lma1)) AS PCTLma1
 FROM m3resp;
QUIT;

1 Ответ

0 голосов
/ 15 марта 2012

Средства PROC - отличный инструмент для суммирования числовых переменных.(Для предотвращения отчета добавьте NOPRINT в строку PROC MEANS).

data numbers;
 input num1 num2;
 datalines;
 10 5
 10 5
 10 5
 10 5
 10 5
 10 5
 10 5
 10 5
 10 5
 10 5
;

proc means n sum mean median data=work.numbers maxdec=2; 
 var num1 num2;
 output out=work.totals(drop=_freq_ _type_) 
  sum(num1 num2)=NUM1_TOTAL NUM2_TOTAL
  n(num1 num2)=NUM1_COUNT NUM2_COUNT;
run;
...