본문 바로가기

sas 그룹3

[SAS] sas에서 그룹별로 각각 두 개 이상 변수에 특정값이 포함된 경우 추출하는 방법 sas에서 그룹별로 여러 변수에 특정값이 있는 경우의 그룹만 추출하는 방법을 알아보도록 하자. 역시나 언어로 이해하기는 어려우니 그림을 통해서 무엇을 할 것인가에 대해 알아보자. 위의 그림을 통한 설명처럼 간단하게 key(그룹)별로 여러변수에 특정값이 존재하는 경우만 출력한다는 것이다. [코딩과정] /*예제 데이터 생성*/ data h; input key$ code1$ code2$; cards; 111 a b 111 b b 111 b a 222 a b 222 a b 333 b b 333 b a 333 b b 444 a b 444 b a ; run; /*원데이터에서 code1에 a값이 있는 키값만 출력*/ data h1(drop=code1 code2); set h; if code1='a'; run; /*키.. 2014. 5. 14.
[SAS] sas에서 그룹안에 특정값이 함께 있는 경우와 없는 경우 건수 알아내는 방법 sas에서 그룹에 속한 데이터들 중에 특정값이 포함되있는 경우와 없는 경우의 건수를 알아내는 방법을 알아보자. 이 과정을 참 언어로 풀어내기가 어렵기 때문에 천천히 문제를 이해하고 과정을 알아본다. 아래의 사진을 참조하자. 알고싶은 것은 group별로 name의 관측값들중에 AQ로 시작하는 데이터값이 포함 되어 있는 경우와 아닌 경우가 그룹단위로 몇건인지를 알고 싶은 것이다. 결과 값과 비교해보면 c1인 경우 HD1은 AQ1과 같은 그룹에 속해있으므로 1건이 카운트 된다. 하지만 key변수 444에서 c1에서는 AQ1이 없으므로 아닌 경우도 1건이 카운트 되는 것이다. 이와 같이 HD2 또한 마찬가지로 카운트가 된다. HD3인 경우에는 key변수 111의 c1그룹에는 아예 값이 없으며, key변수 444.. 2014. 4. 2.
[SAS] sas proc means를 이용해 그룹별 사분위수(q1, q3) 구하기. 이상치제거 응용가능 sas의 proc means를 이용하여 그룹별로 사분위수를 구하는 방법을 알아보자. 이 방법은 표본층화추출방법을 사용했거나 기타등 데이터에서 사분위수 이상치제거 작업전에 q1, q3를 구하는데 많이 사용되는 방법이다. 먼저 이작업의 유의점은 이전과는 달리 그룹별로 먼저 proc sort를 이용하여 정렬을 해주어야 한다. 그룹별로 정렬작업을 하고 그 뒤는 이전과 같이 사진 처럼 proc means를 이용해 q1과 q3를 구하면 된다. 대신 var cost - cost라는 연속형 변수에 대해 q1과 q3를 구하는데 우리는 이번에는 그룹별로 구할 것이므로 그전에 by group 라는 문구를 입력해준다. 그럼 사진의 맨 아래부분과 같이 그룹 a와 b별로 각각의 q1과 q3를 구할수 있다. _type_과 _fre.. 2014. 2. 21.