Hard skills/SAS (12)

/*

개발환경 : SAS University Edition

날짜 : 2017. 3. 8

*/



(2) PROC SQL로 새로운 테이블 만들기


FILENAME REFFILE '/folders/myfolders/titanic.csv';

PROC IMPORT DATAFILE=REFFILE
    DBMS=CSV
    OUT=WORK.titanic;
    GETNAMES=YES;
RUN;

PROC SQL;
create table titanic_male as
    SELECT *
     FROM 
        work.titanic
            WHERE sex = 'male'
;
RUN;



PROC SQL 입력후 SQL 문으로 새로운 테이블을 생성하는 문장을 넣으면 된다. 위처럼 입력하면 타이타닉 예제에서 sex가 male인 row들만 모아서 새로운 테이블을 만든다. 컬럼을 선택하려면 SELECT column1, column2 처럼 넣으면 된다. 위 스크립트를 실행 후에 work 라이브러리에 가보면 titanic_male이라는 이름의 테이블이 새로 생성되었음을 확인할 수 있다.



출처


https://www.tutorialspoint.com/sas/sas_standard_deviation.htm

/*

개발 환경 : SAS University Edition

날짜 : 2017/3/8

*/


titanic.csv



SAS 에서 데이터의 산술 평균은 PROC MEANS 를 통해 구할 수 있다. 예제 데이터셋으로는 titanic 데이터셋을 사용하였다. 



데이터 읽기


/* 소스 파일: titanic.csv */
/* 소스 경로: /folders/myfolders */
/* 코드 생성일: 17. 3. 7. 오후 3:35 */
FILENAME REFFILE '/folders/myfolders/titanic.csv';

PROC IMPORT DATAFILE=REFFILE
    DBMS=CSV
    OUT=WORK.titanic;
    GETNAMES=YES;
RUN;



모든 변수의 평균 구하기


/* 모든 변수의 평균, 합 출력 */
PROC MEANS DATA = WORK.titanic Mean SUM MAXDEC=2;
RUN;



위와 같이 하면 모든 변수의 Mean과 Sum을 구한다. MAXDEC는 Max Decimal의 약자로 소숫점 둘째자리까지 출력하라는 의미이다.



MEANS 프로시저

변수평균합계
PassengerId
Survived
Pclass
Age
Parch
Fare
446.00
0.38
2.31
29.76
0.38
32.20
397386.00
342.00
2057.00
26515.17
340.00
28693.95


특정 변수의 평균 구하기


특정 변수의 평균만 구하고 싶을 때는 VAR 키워드에 지정해준다.


/* 특정 변수의 평균, 합 출력 */
PROC MEANS DATA = WORK.titanic Mean SUM MAXDEC=2;
VAR age;
RUN;


MEANS 프로시저

분석 변수 : Age
평균합계
29.7626515.17

그룹별로 평균 구하기


그룹별로 평균을 구하고 싶을 때는 CLASS 키워드에 지정해준다.

/* 특정 변수의 평균, 합 출력 */

PROC MEANS DATA = WORK.titanic Mean SUM MAXDEC=2; VAR age; CLASS sex; RUN;



MEANS 프로시저

분석 변수 : Age
Sex관측값 수평균합계
female31428.278876.00
male57730.5717639.17

참고



https://www.tutorialspoint.com/sas/sas_arithmetic_mean.htm

  • 2017.05.07 19:33

    비밀댓글입니다

    • 2017.05.20 15:12

      비밀댓글입니다