2014-02-25 5 views
-1

최근에 SAS 프로그램에 대한 할당 문과 조건부 실행을 배우기 시작했습니다. 나는 아직 초보자입니다. 몇 가지 질문이 있지만 실제로 붙어 있습니다. 도움이 필요해. 테이블에 정의 된 SAS 할당 문과 조건부 실행

값을 저장하는 새로운 변수 X7을 생성, 길이 1의 문자 변수 Y를 감안할 때 :

Y      X8 
'E'     'East' 
'S'     'South' 
'W'     'West' 
'N'     'North' 
Other value   '' 
+2

무엇을 시도하셨습니까? –

답변

1

내가 조금 여기에 질문을 오해 할 수 있지만, 그것은 당신이 단순히처럼 보인다 미리 정의 된 특정 조건을 기반으로 새 변수를 만들고 싶습니다. 그것이 당신의 목표라면, 이것을 할 수있는 수많은 방법이 있습니다.

IF 정직 조건 그리고 else 문 :

data test; 
    input Y $1.; 

    length x7 $5; 
      if Y="E" then X7="East"; 
    else if Y="S" then x7="South"; 
    else if Y="W" then x7="West"; 
    else if Y="N" then x7="North"; 
    else x7=""; 

    datalines4; 
E 
N 
S 
E 
_ 
W 
? 
;;;; 
run; 
proc print data=test; 
run; 

참고 : 길이 문없이, X7 당신은 SAS에 익숙하지 말 것 때문에, 나는 그 질문에 두 가지 중요한 답을주지 첫 번째 입력의 길이가 기본값입니다. 이 경우 $ 4.

SAS의 또 다른 핵심 기술

이 형식을 사용하고 있습니다 :

먼저 당신의 형식을 만들 수 있습니다. (간단한 값 문이 잘 작동합니다 작은 목록의 경우 그렇지 않으면 포맷 절차에 cntlin = 옵션으로 보면) :

proc format; 
Value $DI 
'E'='East' 
'S'='South' 
'W'='West' 
'N'='North' 
Other=' '; 
run; 

다음 넣어() 함수를 사용하여 적용 할 수있는 데이터 단계에서;

data test2; 
    set test; 
    x7_2=put(y,$di.); 
run; 
proc print data=test2; run; 

희망을 얻으려고합니다. 오해하는 경우 명확히하십시오. 감사합니다. b