【SAS】기본 통계량의 여러가지 만드는 방법

3289 단어 통계학SAS
기본 통계량의 일람은 대체로 매일 보지만, 의외와 그 만드는 방법과 패턴의 설명이 적다고 생각한다.
따라서 자주 사용하는 방법을 보여준다.

1) proc means 를 사용하는 방법(표본의 기본 통계량 sample)
2) proc means 를 사용하는 방법(모집단의 기본 통계량 population)
3) 데이터 세트를 자작하는 방법

1) proc means 를 사용하는 방법(표본의 기본 통계량 sample)



코드



가장 단순하지만 자유도 n-1의 소위 불편 분산을 사용한다.
分散 
s^{2}=\frac{1}{n-1}\sum_{i=1}^{n}\left ( x_{i}-\overline{x} \right )^{2}
%let sourceDS = 使用するデータセット;
TITLE SAMPLE_MEANS;

proc means data=&sourceDS mean var std;
    var avg_temp avg_humid daytime;
run;

출력





2) proc means 를 사용하는 방법(모집단의 기본 통계량 population)



코드


vardef=n가 선택적으로 추가됩니다. 이것은
분산의 정의(definition of variance)의 설정을 하고 있다.
자유도(degrees of freedom)는 n 즉 데이터의 개수로 하는 것을 의미한다. .
따라서 아래에 표시된 분산을 사용합니다.
分散 
\sigma^{2}=\frac{1}{n}\sum_{i=1}^{n}\left ( x_{i}-\overline{x} \right )^{2}
%let sourceDS = 使用するデータセット;
TITLE POPULATION_MEANS;

proc means vardef=n data=&sourceDS mean var std;
    var avg_temp avg_humid daytime;
run;

출력





3) 데이터 세트를 자작하는 방법



코드



수고는 늘지만
  • 목록에서보고 싶을 때,
  • 독자적으로 취득하고 싶은 통계량을 추가할 때,
  • 코드를 정리하고 싶을 때, etc

  • 에는 아무래도 이렇게 된다.
    그러나 매크로화하면 좋을 뿐이므로 만드는 가치는 충분히 있다.

    포인트는 기본 통계량의 변수를 자작할 때의 COL: 이다.
    이제 COL1 와 같이 COL + 숫자의 변수 모두를 계산의 범위로 지정하고 있다.
    이렇게하면 COL 변수의 수를 신경 쓰지 않아도됩니다.
    SAS 함수의 인수로 할 때는 (of COL:) 와 같이 of 를 붙이는 것에 주의하자.
    %let sourceDS = 使用するデータセット;
    %let popDS01 = 基本統計量の元となるデータセット;
    
    TITLE 使用するデータセット;
    proc print data=&sourceDS;
    run;
    
    /* データのタテヨコを入れ替える*/
    proc transpose data=&sourceDS out=&popDS01;
    run;
    
    TITLE 基本統計量の元となるデータセット;
    proc print data=&popDS01;
    run;
    
    /* 基本統計量の変数を自作する */
    data &popDS01;
        set &popDS01;
        N_ = N(of COL:); /* データの個数 */
        Avg_ = mean (of COL:); /* 平均 */
        Var_ = (N_ -1)/ N_ * var(of COL:); /* 母集団の分散 */
        Std_ = sqrt(Var_); /* 母集団の標準偏差 */
        Var_S_ = var(of COL:); /* 標本の分散(不偏分散) */
        Std_S_ = sqrt(Var_S_); /* 標本の標準偏差(不偏標準偏差) */
    
        attrib
            _NAME_ LABEL="項目名"
            N_ LABEL="個数"
            Avg_ LABEL="平均"
            Var_ LABEL="分散"
            Std_ LABEL="標準偏差" 
            Var_S_ LABEL="不偏分散" 
            Std_S_ LABEL="標本標準偏差"
        ;
    
    
    run;
    
    TITLE 基本統計量の出力先のデータセット;
    proc print data=&popDS01 label;
    
        var _NAME_ N_ Avg_ Var_ Std_ Var_S_ Std_S_
        ;
    run;
    
    quit;
    
    
    

    출력





    끝에



    질문, 실수 등이 있으면 코멘트 해주세요.

    좋은 웹페이지 즐겨찾기