2014-11-28 3 views
1

SAS에서 데이터 집합의 왜곡 계산에 관심이 있습니다. proc univariate 문을 사용하면 요약 통계를 얻을 수 있으므로 왜곡이 발생합니다. 왜곡의 값을 출력으로 얻을 수 있습니까? 다음 라인에서 계산할 값이 필요합니다. 따라서 모든 요약 통계가 아니라 그 값에 액세스하는 방법이 필요합니다.SAS proc univariate에서 특정 출력 값 선택

답변

2

ods trace과 함께 사용할 수있는 목록을 얻을 수 있습니다.

ods trace on; 
proc univariate data=sashelp.class; 
    var age; 
run; 
ods trace off; 

순간은 왜곡이있는 테이블입니다. KEEP 문이나 WHERE 문을 사용하여 해당 값으로 필터링 할 수 있습니다.

ods output moments=class_moments; 
proc univariate data=sashelp.class; 
    var age; 
run; 
ods output close; 

그리고 다음 문장은 비대칭 특히 유지 : 내 질문에

ods output moments=class_moments(keep=varname cValue1 label1 where=(label1='Skewness')); 
proc univariate data=sashelp.class; 
    var age; 
run; 
ods output close; 
+0

후속 : 어떻게 그것을 포함하는 몇 가지 계산을하기 위해 비대칭의 값을 참조 할 수 있습니까? 게다가, 나는 왜곡의 값을 로그에 기록하기를 원하기 때문에'% put class_moments'를 실행하지만, 로그에 "class_moments"라는 텍스트 문자열 만 기록합니다. 어떻게해야합니까? – Egodym

+1

'ods output'의 요점은 skewness의 값을 데이터 셋에 넣는 것입니다. 마지막에 샘플 코드를 실행하면'cValue1'의 왜곡 값을 포함하는'class_moments' 데이터 셋이 생깁니다. 원하는 경우 이름 바꾸기). – Joe

+0

좋아요,하지만 2 * 왜곡을 계산하고 싶다면 어떻게해야합니까? 'cValue1'에서 어떻게 값을 사용할 수 있습니까? – Egodym