일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 데이타마이닝 툴
- hdmi젠더
- SAS
- r
- 책모음
- 토드부크홀츠
- 오블완
- 사례기반추론
- 얼굴합성앱추천
- 일본 뜀틀 응원 기적 감동
- 베트남삼겹살
- 강의자료
- SAS 날짜
- 리더쉽
- SAS에서 한글사용
- 딥페이크
- Deepfake
- 기계학습
- 베트남 #자동차 #베트남자동차보급율
- 웨카
- 뉴스로 이해하는 베트남
- 티스토리챌린지
- 지방자치단체조합
- subset
- 스틱pc
- SAS 연산오류
- R 프로그래밍
- HDMI-DVI
- FPT #베트남기업
- SAS 계산오류
Archives
- Today
- Total
지식노동자의 노트
SAS 중복관측치 다루기 (select distinct) 본문
728x90
지난번에 이어 SAS data의 중복 관측치에 관한 얘기를 하겠습니다. proc sort의 nodupkey option도 좋은 방법이지만 SQL의 DISTINCT 문도 좋은 대안입니다. 늘 그렇듯이 예제 DATA를 생성하는 것으로 시작해 보겠습니다.
data dup_yes;
input 학번 $ 이름 $ 주거지 $ 최종거주일자 $;
datalines;
971214 김말순 서울 20120508
971215 김초롱 부산 20110805
971215 김초롱 서울 20120106
971215 김사랑 대전 20120508
971215 김사랑 대전 20120508
971215 김사랑 대전 20120508
;
run;
위 코드로 부터 다양한 중복사례가 포함된 셋을 생성했습니다.
<그림1. 중복 데이타셋>
이제 SQL을 사용해서 '학번'칼럼에서 중복없이 유일한 값만 추출 하겠습니다. DISTINCT 라는 단어의 뜻에서 알 수 있듯이 unique한 값만 선택하겠다는 의미 입니다.
1. 학번 칼럼에서 중복없이 추출합니다.
proc sql;
create table dup_no1 as
select distinct 학번
from dup_yes;
quit;
2. 학번, 이름 칼럼의 조합에서 중복없이 추출합니다.
proc sql;
create table dup_no2 as
select distinct 학번
,이름
from dup_yes;
quit;
3. 학번, 이름, 주거지 칼럼의 조합에서 중복없이 추출합니다.
proc sql;
create table dup_no3 as
select distinct 학번
,이름
,주거지
from dup_yes;
quit;
4. 학번, 이름, 주거지, 최종거주일자 칼럼의 조합에서 중복없이 추출합니다.
proc sql;
create table dup_no4 as
select distinct 학번
,이름
,주거지
,최종거주일자
from dup_yes;
quit;
5. 모든 칼럼의 조합에서 중복없이 추출합니다. 4번과 결과가 같습니다.
proc sql;
create table dup_no5 as
select distinct *
from dup_yes;
quit;
반응형
'SAS' 카테고리의 다른 글
SAS 날짜값 다루기(생성 및 변형) (0) | 2012.06.12 |
---|---|
SAS로 Oracle DB 에 접근하는 방법 (0) | 2012.06.05 |
SAS 한글 변수명 쓰기 (0) | 2012.05.17 |
SAS의 산수는 정확한가? 같은 값을 빼도 0이 아니다? (0) | 2012.05.17 |
SAS 중복 관측치 다루기(nodupkey) (0) | 2012.05.16 |
Comments