SAS연습200제/SAS데이터셋활용하기16 Q_02_17. SET문과 INPUT 문을 동시에 사용하는 경우 SET 문과 INPUT 문을 동시에 사용하는 경우는 주로 외부 파일에서 데이터를 읽어와 기존 데이터셋과 결합할 때 발생합니다. SET 문은 SAS 데이터셋을 불러오는 데 사용하고, INPUT 문은 데이터 라인에서 직접 데이터를 읽어와 새로운 변수로 저장할 때 사용됩니다.일반적으로 SET 문과 INPUT 문은 동시에 사용되지 않지만, 두 개를 함께 사용할 수 있는 경우는 DATA 스텝에서 SAS 데이터셋(SET 문 사용)과 함께 추가로 외부 데이터를 DATALINES나 CARDS(이전 버전 용어)를 통해 입력할 때입니다.예제: SET과 INPUT을 동시에 사용하기다음 예제는 기존의 SAS 데이터셋과 외부에서 직접 입력한 데이터를 결합하는 경우를 보여줍니다.data work.combined_data; .. 2025. 3. 18. Q_02_16. SAS 프로그램에서 생성된 결과를 같은 프로그램내에서 재활용하기 SAS 프로그램에서 생성된 결과를 같은 프로그램 내에서 재활용하는 방법에는 DATA 스텝과 PROC 스텝을 적절히 사용하여 다양한 방식으로 데이터를 다시 불러오거나 가공할 수 있습니다. 이때 중요한 것은 이전 단계에서 생성된 데이터셋을 SET이나 MERGE를 통해 재활용하는 방법입니다.다음은 SAS 프로그램 내에서 결과를 재활용하는 몇 가지 예시입니다.1. SET 문을 사용하여 재활용하기이전 단계에서 생성된 데이터셋을 SET 문을 통해 다시 불러와 가공할 수 있습니다.data work.final_data; set work.intermediate_data; /* 이전 단계에서 생성된 데이터셋 불러오기 */ bmi_status = ifc(bmi > 25, 'Overweight', 'Normal').. 2025. 3. 18. Q_02_15. UPDATE 문 사용하기 SAS에서 UPDATE 문은 기본적으로 두 개의 데이터 세트를 결합하여 첫 번째 데이터 세트의 값을 업데이트할 때 사용됩니다. UPDATE 문은 주로 기본 데이터 세트에서 특정 값들을 두 번째 데이터 세트의 값으로 갱신하고자 할 때 유용합니다.기본 문법은 다음과 같습니다:DATA 업데이트된_데이터셋; UPDATE 기존_데이터셋 수정_데이터셋; BY 키_변수;RUN;기존_데이터셋: 업데이트될 기존 데이터 세트.수정_데이터셋: 업데이트할 데이터가 포함된 데이터 세트.키_변수: 두 데이터 세트를 결합할 때 사용할 키 변수 (ID나 고유 식별자 등).예를 들어, employees라는 데이터 세트에서 특정 직원의 급여 정보를 updates라는 데이터 세트를 통해 수정한다고 가정해 보겠습니다.DATA e.. 2025. 3. 18. Q_02_14. 두 데이터셋을 옆으로 합치기 - IN 사용 SAS에서 두 데이터셋을 옆으로 병합할 때 IN= 옵션을 사용하면 각 데이터셋에 해당하는 관측치가 존재하는지 여부를 확인할 수 있습니다. 이 방법은 특정 조건을 만족하는 행만 선택할 때 유용합니다.IN= 옵션의 기본 사용법IN= 옵션은 MERGE 문과 함께 사용되며, 각 데이터셋에서 관측치가 존재하는 경우 해당 IN= 변수의 값이 1로 설정됩니다. 이를 통해 조건을 적용해 원하는 데이터만 병합할 수 있습니다.data merged_data; merge dataset1(in=in1) dataset2(in=in2); by key_variable; if in1 and in2; /* 두 데이터셋에 모두 존재하는 관측치만 선택 */run;in=in1: dataset1에 해당하는 관측치가 존재하면 i.. 2025. 3. 18. Q_02_13. 두 데이터셋을 옆으로 합치기(1) -MERGE/BY 문 사용 SAS에서 두 데이터셋을 옆으로 합칠 때 MERGE와 BY 문을 함께 사용하면 공통 키 변수를 기준으로 데이터를 병합할 수 있습니다. MERGE 문은 가로 방향으로 데이터를 결합하여 두 데이터셋의 열을 병합하고, BY 문은 지정한 키 변수를 기준으로 정렬하여 병합 과정을 제어합니다.기본 구문data merged_data; merge dataset1 dataset2; by key_variable;run;dataset1과 dataset2: 병합할 두 데이터셋입니다.key_variable: 두 데이터셋을 병합할 때 사용할 공통 변수(키)입니다. 이 변수는 두 데이터셋 모두에 존재해야 하며, 사전에 정렬되어 있어야 합니다.merged_data: 병합된 결과를 저장할 새로운 데이터셋입니다.예제 코드아래.. 2025. 3. 18. Q_02_12. 두 데이터셋을 옆으로 합치기 -같은 변수 있는 경우 SAS에서 MERGE 문을 사용해 두 데이터셋을 옆으로 합칠 때, 두 데이터셋에 같은 이름의 변수가 있으면 변수 충돌이 발생할 수 있습니다. 이 경우 SAS는 마지막에 병합된 데이터셋의 변수 값을 덮어씁니다. 이러한 문제를 방지하거나 원하는 결과를 얻기 위해 몇 가지 방법을 사용할 수 있습니다.1. RENAME 옵션을 사용하여 변수 이름 변경하기두 데이터셋 중 하나의 변수 이름을 변경하여 충돌을 방지할 수 있습니다.data data1; input id name score; datalines; 1 Alice 85 2 Bob 90 ;run;data data2; input id age score; datalines; 1 20 88 2 21 92 ;run;d.. 2025. 3. 18. Q_02_11. 두 데이터셋을 옆으로 합치기 - MERGE 문 사용 SAS에서 두 개 이상의 데이터셋을 옆으로 합치려면 MERGE 문을 사용합니다. MERGE 문은 공통 변수를 기준으로 데이터를 가로 방향으로 병합하며, 기본적으로 BY 문과 함께 사용됩니다. 이 방법은 두 데이터셋 간의 공통 키를 기준으로 관측치가 병합되기 때문에, 공통 변수가 필요합니다.기본 구문data merged_data; merge dataset1 dataset2; by key_variable;run;dataset1과 dataset2: 병합할 두 데이터셋입니다.key_variable: 데이터셋을 병합할 때 사용할 공통 변수(키)입니다.merged_data: 병합된 결과를 저장할 새 데이터셋입니다.예제 코드아래 예제에서는 data1과 data2 데이터셋을 id 변수로 병합합니다.data .. 2025. 3. 18. Q_02_10. 동일한 데이터셋에서 처음과 마지막 관측치 구하기 - SET a/BY 문 SAS에서 동일한 데이터셋에서 처음과 마지막 관측치를 BY 문과 함께 구하려면 FIRST.와 LAST. 변수를 사용하면 됩니다. 이 변수를 사용하면 각 BY 그룹의 첫 번째 및 마지막 관측치를 식별할 수 있습니다.예제 코드예를 들어, data1 데이터셋에서 id 변수별로 처음과 마지막 관측치를 추출하고자 한다면 다음과 같은 코드를 사용할 수 있습니다.data first_last_obs; set data1; by id; if first.id then output first_obs; /* 처음 관측치를 first_obs 데이터셋에 저장 */ if last.id then output last_obs; /* 마지막 관측치를 last_obs 데이터셋에 저장 */run;설명by id; 문은.. 2025. 3. 18. Q_02_09. 두 DATASET을 아래위로 합치기 - SET a b/BY 문 SAS에서 SET a b; BY 변수명; 구문을 사용할 때, 두 데이터셋을 특정 변수에 따라 병합하고 싶을 경우 BY 변수가 두 데이터셋 모두에 있어야 하며, 두 데이터셋은 BY 변수에 따라 사전 정렬되어 있어야 합니다. 이 방식은 BY 변수의 값에 따라 두 데이터셋을 순차적으로 합치면서 데이터가 그룹화됩니다.예제 코드아래는 data1과 data2 두 데이터셋을 id 변수를 기준으로 아래 위로 합치는 예제입니다.proc sort data=data1; by id;run;proc sort data=data2; by id;run;data combined_data; set data1 data2; by id;run;설명proc sort를 통해 data1과 data2를 id 변수 기준으로 정렬.. 2025. 3. 18. 이전 1 2 다음