본문 바로가기

BigData74

[SAS] sas에서 numeric 숫자형 결측치(.)를 0으로 한번에 다 바꾸는 방법 데이터에서 정제된 데이터가 있으면 좋겠지만 정제되지 않은 데이터를 받는 경우가 대부분이다. 이럴 경우에 문제 중 하나가 결측치 처리 방법이다. sas에서는 숫자형 변수에 대해 결측치가 있을 경우 점(.)으로 표시되는데 이것을 모두 0으로 한번에 바꾸는 방법을 알아보자. [sas 코딩과 결과창] 위의 사진을 보면 결측치가 포함되어 있는 point라는 데이터셋이 있다. 아래 코딩을 보면 array(배열) 문과 do문 if문의 조합으로 간단하게 모든 변수(sas, bigdata, kim, jin, hwi)에 있는 결측치 . 들을 0으로 변환 시킬수가 있다. 결과창 참조 [sas 코딩] data point_0; set point; array ace[*] _numeric_; do i=1 to dim(ace); i.. 2014. 2. 24.
[SAS] sas retain문장을 이용해 원하는 변수부터 나열하는 방법 2014년 소치올림픽 김연아가 아쉽게 은메달을 땄다....말도 안돼... sas를 이용해 retain문장으로 원하는 변수별로 나열하는 방법을 알아보자. 사진을 보면 소치 2014데이터셋에 세개의 의미있는 변수가 있다. 각각 러 시 아 라는 데이터를 가지고 있으며, 이것을 아래와 같이 retain문장을 입력 한 뒤 원하는 변수 대로 입력(러, 시, 아 를 거꾸로 가져와봄)하면 결과와 같이 러시아가 거꾸로 변수별로 들고오니 아시러가 되었음을 알수 있다. www.sasbigdata.com 김진휘 2014. 2. 21.
[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.
[SAS] sas proc means를 이용해 사분위수(q1, q3) 구하기. 이상치제거 응용가능 sas에서 많이 사용되는 proc means를 이용해서 사분위수인 q1과 q3를 구해보자. 특이 이 작업은 이상치제거작업시 가장 흔하게 사용되는 사분위수 제거방법을 사용할때 자주 응용되는 방법이다. 정확하게는 1사분위수(q1), 3사분위수(q3)를 구하는 방법이다. 코드과정은 간단하다. proc means에서 알고싶은 연속형 변수를 입력한다,(var cost부분처럼) 그다음 q1=q1(ace1생성시 1사분위수 데이터의 지정하고싶은 변수명 아무것이나 가능),q3도 같다. 4분위수 q1, q3를 이용해 이상치를 제거 할때 위 사진 처럼 작업하여 q1, q3를 구하여 작업을 많이 한다. www.sasbigdata.com 김진휘 2014. 2. 21.
[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.
[BIGDATA] 의료산업에 있어서 빅데이터(bigdata) 2014년 2월 19일(수) 코엑스 컨퍼런스룸 308호에서 의료산업에 있어서 빅데이터라는 주제로 빅데이터 리더스포럼에 참석했다. [행사목적] 창조경제 시대에 빅데이터 비즈니스 활용의 중요성이 강조되는 현실에서 데이터 분석을 통한 가치있는 정보의 활용을 산업 전반에 파급하고자 매일경제와 한국빅데이터학회는 분기별로 빅데이터 리더스 포럼을 개최한다. 금년 "의료산업에 있어서 빅데이터"란 첫 주제를 통해 의료 패러다임의 변화에 따른 의료산업의 경쟁 전략과 대국민 의료서비스의 향상을 통한 사회적 비용을 절감하는 의료산업의 발전방향을 제시한다고 한다. 행사명 : 빅데이터 리더스 포럼 행사 주제 : 의료산업에 있어서 빅데이터(bigdata, medical & healthcare) 행사 일시 : 2014년 2월 19일.. 2014. 2. 20.
[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.