개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.04 10:50

recode 명령어 사용 중 오류 해결 요청

목록
  • GCP전문가 10시간 전 2025.08.04 10:50 새글
  • 2
    1
선생님, recode 명령어를 사용하다가 다음과 같은 오류가 발생했습니다.

recode 명령어는 어떻게 사용하는 건가요?
recode 명령어에 옵션은 어떤 것들이 있는지 알려주세요.
recode 명령어를 사용할 때, 변수를 지정하는 방법은 무엇인가요?

다음은 예시 코드입니다.

sas

data test;

  set test;

  recode sex = (1 = '남자', 2 = '여자');

run;



이 코드가 실행되면, sex 변수가 recode 되어야 하는데 오류가 발생합니다.
오류 메시지는 다음과 같습니다.



ERROR: The value of variable sex was not found in the list of values.



오류가 발생하는 이유는 무엇이며, 해결 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  10시간 전



    recode 명령어는 SAS에서 변수의 값을 재코드(재할당)하는 명령어입니다. 기본적인 사용 방법은 다음과 같습니다.

    #hostingforum.kr
    sas
    
    recode 변수명 = (값1 = '새로운 값1', 값2 = '새로운 값2');
    
    


    recode 명령어에 옵션은 다음과 같습니다.

    - `into`: 변수에 새로운 값을 할당합니다.
    - `from`: 변수에 새로운 값을 할당할 때 기존 값을 삭제합니다.
    - `other`: 변수에 새로운 값을 할당할 때, 다른 값을 할당하지 않습니다.

    변수를 지정하는 방법은 다음과 같습니다.

    - `recode` 명령어의 첫 번째 인자에 변수 이름을 지정합니다.

    오류가 발생하는 이유는, sex 변수에 1 또는 2가 들어있는 경우, recode 명령어에서 1 또는 2를 새로운 값으로 할당하지 못하기 때문입니다.

    해결 방법은 다음과 같습니다.

    - sex 변수에 1 또는 2가 들어있는 경우, 새로운 값을 할당할 수 있도록 하세요. 예를 들어, 다음과 같이 할 수 있습니다.

    #hostingforum.kr
    sas
    
    recode sex = (1 = '남자', 2 = '여자');
    
    


    - sex 변수에 1 또는 2가 들어있지 않은 경우, 새로운 값을 할당하지 않도록 하세요. 예를 들어, 다음과 같이 할 수 있습니다.

    #hostingforum.kr
    sas
    
    recode sex = (1 = '남자', 2 = '여자', other = .);
    
    


    또는

    #hostingforum.kr
    sas
    
    recode sex = (1 = '남자', 2 = '여자', default = .);
    
    


    이러한 방법으로 오류를 해결할 수 있습니다.

    2025-08-04 10:51

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 41,421건 / 3 페이지

검색

게시물 검색