2012-03-15 6 views
0

여러 변수의 백분율을 계산하는 것을 좋아합니다. 이것은 각 변수 (열)를 계산하여 각 변수의 합을 frequnecy로 나눕니다. 나는이 두 통계를 얻기 위해 proc 요약을 얻으려고 노력했지만 백분율을 계산하기 위해 배열을 만들었지 만 결과 값은 올바르지 않지만 로그에는 오류가없는 것 같습니다. 난 proc SQL은 백분율 계산을 할 수 있지만 여러 변수에 대해 어떻게 해야할지 모르겠다. - 어렵지는 않겠지 만 목록에 올리는 방법을 모르겠습니다.여러 변수의 백분율을 계산하는 SAS

내가 뭘 잘못했는지 지적 할 수 있다면 1) proc 요약 방법으로, 또는 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

ok. 당신은 eaach 변수에 대한 합계와 ncount를가집니다. 어떻게 각 변수의 백분율을 계산 하시겠습니까? – user634455

+0

나는 이러한 변수가 0/1 데이터이기 때문에 컴퓨터 백분율에 대한 변수를 proc으로 사용하려고 시도했지만이 방법으로 작동합니다. 고맙습니다! – user634455

관련 문제