2012-03-15 386 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