sas 예제

위의 출력에 대한 몇 가지 사항을 알 수 있습니다. 첫째, 변수 length_name의 경우 product_name에서 문자와 공백 수를 계산하면 위에 표시된 동일한 값이 표시됩니다. 둘째, product_name의 압축 된 버전에는 공백이 없습니다. 셋째, SCAN 함수와 SUBSTR 함수 모두 동일한 출력을 생성했습니다. SUBSTR 함수는 3개의 인수, 추출하려는 정보가 있는 변수 이름, 시작할 문자 위치 및 추출할 문자 수를 취합니다. 이 예제에서는 SAS에게 이클립스의 “E”가 될 “제품 그룹”의 첫 번째 문자 위치에서 시작하여 길이 7의 문자 문자열을 추출하려고 합니다. 안타깝게도 이는 우리가 추출하는 값이 항상 같은 길이여야 한다는 것을 의미합니다. 우리는 다른 길이의 제품 이름이있는 경우. 그런 다음 문자열의 길이를 지정하는 대신 SUBSTR과 매우 유사한 SCAN 함수를 사용할 수 있습니다. 위의 구문은 관심 있는 문자 문자열이 첫 번째 위치에서 시작하여 공백/공백이 발생할 때까지 계속된다는 것을 나타냅니다. 이 함수는 <(+ + + ! * * ) 를 포함한 많은 유형의 구분 기호와 함께 작동합니다.

^ – – / , % SAS 프로그램은 데이터 단계와 proc 단계의 두 가지 단계로 구성됩니다. 데이터 단계는 사용자에 의해 작성되며 프로시저는 기본 제공된 사전 작성된 프로그램입니다. 일반적으로 데이터 단계는 데이터 파일을 읽고 수정하고 만드는 데 사용되며 항상 “DATA” 문으로 시작합니다. 섹션 1.2의 데이터 단계의 예를 보았습니다. 통계적 관점에서 Proc 단계는 일반적으로 데이터를 변경하지 않고 SAS의 데이터 집합을 분석하는 데 사용됩니다. 이에 대한 예외가 있습니다. Proc 단계는 항상 친숙한 “PROC” 문부터 시작합니다. PROC PRINT, PROC MEANS 및 PROC FREQ를 포함한 이전 섹션에서 Proc 단계의 몇 가지 예를 보았습니다. 각 절차를 통해 특정 방식으로 데이터를 분석하고 처리할 수 있습니다. 몇 가지 예를 살펴보겠습니다.

아래에서는 데이터 단계를 사용하여 “sales_subset”에서 “sales_subset”이라는 새 임시 데이터 집합을 만듭니다. 이 데이터 집합에는 직책에 “Rep”라는 단어가 포함된 호주 직원의 관찰만 포함됩니다. 그래서 우리는 논리적이고 특별한 WHERE 연산자를 사용하고 있습니다. 또한 “급여”에 .10을 곱하여 계산되는 “보너스”라는 새로운 변수를 만듭니다. 데이터 단계는 WHERE 및 IF 문을 모두 수락하지만 IF만 할당 문에 사용할 수 있습니다. 다음은 할당 문의 예입니다. 이 경우 할당은 $30,000를 초과하는 급여 값을 사용하여 관찰을 수행하고 THEN OUTPUT를 사용하여 “highsales”라는 새 데이터 집합에 할당하는 것을 의미합니다. 이제 일대다 병합의 예를 살펴보겠습니다. 앞에서 우리는 일반적으로 SAS가 동일한 데이터 또는 proc 단계에서 WHERE 문을 더 많이 사용할 수 없다는 것을 설명했습니다. 이에 대한 예외는 특수 연산자 “동일”과 “또한”입니다. 이렇게 하면 기존 WHERE 문을 업데이트하거나 보강하여 추가 조건을 추가할 수 있습니다.

첫 번째 조건 하위 집합 아래예제에서는 데이터를 $26,000 이하의 호주 영업 직원으로 설정하고 여성이어야 한다는 추가 절을 추가합니다. 첫 번째 예에서는 “Oldbudget” 데이터 파일을 사용하여 5년 동안 비즈니스 운영에 대한 총 예산및 평균 금액을 계산합니다. 비교 및 논리 연산자사용 으로 몇 가지 예제를 다루었습니다.