본문 바로가기

SAS105

[SAS] sas 숫자앞에 0을 붙여 자리수 맞춰주는 방법 코드화작업응용(if, length, compress, || 이용) sas에서 수치 또는 코드가 데이터로 있는 경우 서로 자리수가 맞지 않는 경우가 있다. 이럴 경우 앞에 0또는 00등을 붙여서 자리수를 맞춰주는 작업에 대해서 알아보자. 조인키등을 만들때 자주사용된다. 예제는 문자형데이터이지만 수치형 데이터라도 이런 형식으로 작업하면 가능하다. 참고로 수치형데이터는 우측정렬, 문자형데이터는 좌측정렬이 되니 현재 k변수와 k1변수는 문자형, 변수 m은 수치형이라는것을 사진만 봐도 알수가 있다. 이 작업에서 사용되는 것들은 if문과 length, compress, || 크게 이 네가지가 사용된다고 볼 수 있다. [코드과정] data a; input k $@@; cards; 1 12 230 3 222 99 ; run; data b; set a; m=length(k); if m.. 2014. 2. 21.
[SAS] sas if문과 substr함수를 이용하여 관측치 일부분 수정하는 방법 sas에서 if문과 substr함수를 이용하여 관측치 일부분 수정하는 방법을 알아보자. 먼저 샘플데이터가 필요하므로 ace라는 간단한 데이터셋을 생성하였다. [코딩과정] data ace1; set ace; new_a=a; if substr(new_a,1,1)='A' then substr(new_a,6,1)=1 ; else if substr(new_a,1,1)='B' then substr(new_a,6,1)=2; if substr(new_a,1,1)='A' then substr(new_a,1,1)=0; else if substr(new_a,1,1)='B' then substr(new_a,1,1)=0; run; [설명] a변수를 new_a라는 변수로 하나 더 생성 한것은 한눈에 비교하기 쉽고자 생성하였다. .. 2014. 2. 21.
[SAS] sas proc glm 2 sas의 proc glm에서 독립변수는 2가지 종류의 형태로 구분할수가 있다. 분류변수(class변수) - 분산분석 모형에서 처리효과(effects)를 나타냄 연속변수 - 회귀분석 모형에서 사용됨 proc glm은 분산분석과 회귀분석을 결합하여 처리함으로 독립변수가 분류변수임을 나타내기 위해 반드시 class문장에 미리 선언되어야 한다. class변수는 숫자형, 문자형 모두 가능하다. class 문장에 선언하지 않고 사용하는 모든 연속인 독립변수는 공변수(covariate)로 처리된다. 처리효과(effects)를 나타내는 연산자 * crossing- 교호작용효과를 알아보고자 하는 인자들이 있을 경우 사용 () nesting - 포개어진 효과를 알아보고자 할 때 사용, ()안에 상위 인자를 표시 | bar.. 2014. 2. 14.
[SAS] sas proc glm 1 proc glm은 일반선형모형에 대해서 폭넓은 분석절차로서 모평균을 적합하는 모든 종류의 분석을 수용한다. 간단하게 말하면 proc glm = proc anova + proc reg 라고 보면 된다. anove절차와 reg절차를 이용해 할 수 있는 분석법들을 합쳐놓은건이 glm이다. glm절차는 상호작용적(interactive)으로 실행이 가능한데, glm절차로 여러 종류의 분석이 가능하고, 모형 적합 후 변경된 모형을 다시 적합하는 식으로 사용이 가능하므로 다양한 분석이 가능한 것이다. GLM은 일반선형모형을 적합시키기 위해 최소자승법(최소제곱법)을 사용한다. ANOVA에서 불가능한 반복수가 같지 않은 경우(Unbalanced Data)에 대한 분석을 GLM에서는 가능하다. 하지만 반복수가 같은 경우에.. 2014. 2. 14.
[SAS] SAS proc means sas에서 가장 많이 사용하는 구문중에 하나가 proc means이다. 자주 사용하는 구문이지만 할 때 마다 헷갈리고, 많은 기능들이 있는데 모두 활용하지 못하는 경우가 대부분이다. proc means에 대해서 자세히 알아 보자. proc means는 수치형 변수에 대해 여러 기술통계량(Descriptive statistics)을 계산해주고 출력해 준다. 전체 변수 또는 특정한 변수값에 따라 그룹으로 나누어 기술통계량 계산이 가능하다. by문장을 사용하면 그룹별로 독립적인 통계량 계산이 되며, 여기서 다시 class문장을 이용하여 세부 그룹으로 나눌 수 있다. proc means는 - 적률(moments)에 바탕을 둔 기술통계량을 계산하여 준다. - 중위수(median)를 포함한 사분위수를 구하여 준다... 2014. 2. 13.
[SAS] sas proc transpose sas에서 proc transpose에 대해서 알아보자. by → sorting된 변수 zone, gender의 값을 그룹핑 한다. id → level 이 새로 생성되는 데이터셋(out=gg)의 변수로 치환 된다. var → score를 관측치를 갖는 변수가 된다. 데이터들이 어떻게 입력되는지 아래 그림을 참조하자. [ 프로그램 코딩 과정 ] data transpose; input zone gender $ level $ score; cards; 1 man vvip 100 1 woman vip 80 2 woman vip 85 2 man s 78 3 man a 69 3 woman vip 77 1 woman s 66 3 man s 61 ; run; proc sort data=transpose; by zone .. 2014. 2. 12.
[SAS] sas에서 그룹 별로 중복 값이 있는 데이터만 새로운 변수로 체크하는 방법 SAS에서 하나의 변수를 기준으로 그에 딸린 값들 중에 중복이 있는 값에 대해 표시하는 방법을 알아보자. 아래 그림은 joinkey별로 각 cost의 값들 중에 중복이 있는 값이 있는 경우에 대해 check1이라는 변수를 생성해서 0으로 표시하고 중복이 없을 경우에 1로 표시하는 경우이다. 응용해서 실무에 적용해 보도록 하자. 프로그램 코딩 과정 data k; input joinkey cost; cards; 123 1000 123 2000 123 1000 123 1000 123 500 123 600 123 600 251 1500 251 1500 251 1000 ; run; data k1; set k; checking_var=compress(left(joinkey)) || compress(cost); ru.. 2014. 2. 12.
[SAS] SAS TTEST 대응표본(paired observations)에 대한 t-검정(paired T-test) 대응비교를 위한 t-검정은 각 대응하는 자료값의 차에 대한 표본평균이 특정한 상수와 같은지를 검정하는 방법이다. 다음의 예는 대응표본 t-검정을 위해 임시로 만든 30개의 데이터이다. 개정전의 값이 before이고 개정후의 값이 after이라고 설정하고 새로운 방법이 기존의 방법보다 효과적이라고 판단할 수 있는지 대응비교의 T-검정을 통해서 알아보자. 데이터 D_test는 before(개정전의 값), after(개정후의 값) 두개의 변수로 구성되어 있으며 총 관측치 수는 30개인 데이터셋이다. paired variables; 대응비교에 사용되어질 변수를 지정하는데, 하나 이상의 변수를 지정할수 있으며 * 또는 : 으로 구분한다. *는 좌우 각 변수를 짝지어 분석한다. :은 좌우 변수를 순서적으로 짝지어 .. 2014. 2. 10.
[SAS] SAS TTEST 독립 t-검정 이표본(two samples) t-검정(two sample T-test) SAS에서 TTEST가 가능하며, 일표본(one sample), 이표본(two samples), 대응표본(paired observations)에 대한 t-검정(paired T-test)을 실시 할 수가 있다. SAS를 이용하여 이표본(two samples) t-검정(ttest)에 대해서 알아보자. 이표본 t-검정은 두 그룹의 모평균의 차가 특정한 상수와 같은지를 검정하기 위하여 각 그룹으로부터 표본을 추출하여 이들 표본평균의 차를 이용하는 검정법으로 보통 독립 t-검정이라 부르기도 한다. 따라서 두 모집단은 독립적인 관계에 있어야 한다. 7천 1백만건의 테스트 데이터를 이용하여 독립 t-검정을 해보자.(이표본 two sample 검정) test라는 데이터셋으로 성별과 비용 두가지의 변수를 가지고 있으며 .. 2014. 2. 7.
[SAS] SAS proc surveyselect를 이용한 층화랜덤추출방법(빅데이터,bigdata) 빅데이터(bigdata)에서 전수데이터를 사용하지 못해 대부분 표본데이터를 사용할 것이다. 이때 이용되는 표본추출방법 중 하나인 층화표본추출 층화랜덤추출방법이다. SAS에서 모집단으로 부터 표본을 추출할 때 어떤 변수에 대해 층화로 추출하는 방법을 알아보자. 표본을 추출할 때 proc surveyselect 를 사용하는데 층화랜덤추출을 하기 전에 층화할 변수에 대해서 먼저 proc sort 구문을 이용해 정렬을 한뒤에 추출을 해야한다. sex_tp_cd가 성별을 의미하는데 성별을 기준으로 정렬하여 성별 별로 10%추출을 한다. method=srs 는 추출방법을 SRS(단순무작위추출)로 추출하겠다는 것을 의미 rate=0.1 은 모집단 대비 10%를 추출하겠다는 의미 이외에도 스크린샷에는 없지만 자주 이용.. 2014. 2. 6.
[SAS] SAS TTEST 일표본(one sample) t-검정(one sample T-test) SAS에서 TTEST가 가능하며, 일표본(one sample), 이표본(two samples), 대응표본(paired observations)에 대한 t-검정(paired T-test)을 실시 할 수가 있다. SAS를 이용하여 일표본(one sample) t-검정(ttest)에 대해서 알아보자. 일표본 t-검정은 모집단의 평균이 표본의 평균과 차이가 있는지를 검정하는 것이다. 간단하게 하나의 예를 들어보자.(아래 사진 참조) 모집단 데이터 셋 : jin.m_hwi 라는 데이터셋 명으로 약 568만건 정도를 모집단으로 설정했다. rate=0.1 옵션으로 10%를 간단하게 표본 추출할수 있지만 최대한 정확하게 하기 위해 모집단의 10%인 567800을 표본n수로 지정하여 단순무작위 추출 SRS방법으로 jin.. 2014. 2. 6.
[SAS] sas proc export를 이용해 엑셀(EXCEL)파일 내보내기 SAS dataset을 여러가지 파일형식으로 내보내기를 할 수가 있는데 가장 대표적으로 많이 사용하는 것들이 텍스트 파일과 엑셀 파일이다. 그 중 SAS dataset을 Excel파일로 내보내는 방법을 알아보자. 가장 간단한 방법은 [파일]-[데이터내보내기]를 통해서 엑셀 파일로 내보내는 방법인데 만약 이 방법이 안되는 경우에 직접 확장편집기에서 코딩을 통해 내보내는 방법을 알아보도록 하겠다. [파일]-[데이터내보내기]가 간혹 에러창이 뜨면서 안되는 경우에는 아래의 주소를 통해 해결 할 수가 있다. http://sasbigdata.com/28 확장편집기에서 코딩으로 엑셀(EXCEL)파일을 SAS로 가져오는 방법. proc import 사용 http://sasbigdata.com/60 확장편집기에서 코딩으.. 2014. 2. 6.