2012-03-15 343 views
0

我喜欢计算多个变量的百分比。这是每个变量(列)的计算总和并将每个变量总和除以频率。我试图获得proc总结来获得这两个统计信息并且创建数组来计算百分比,但结果值似乎并不正确,但在日志中没有错误。我看到PROC SQL可以做百分比计算,但我不知道如何做到这一点多个变量。 - 不要难,但我不知道如何列出它们。SAS计算多个变量的百分比

如果您可以指出我在过程总结方式中做了什么错误1)或者2)指导我如何编写proc 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; 

回答

0

PROC Means是总结数值变量一个伟大的工具。 (要防止报告,请在PROC MEANS行上添加NOPRINT)。

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; 
+0

好的。你得到了每个变量的总和和ncount。 Thne如何计算每个变量的百分比? – user634455 2012-03-15 17:21:32

+0

我试图使用proc方法将这些变量转换为计算机百分比,因为这些变量都是0/1数据,它以这种方式工作。谢谢! – user634455 2012-03-15 17:57:40