본문 바로가기

분류 전체보기163

[SAS] sas에서 기하평균과 신뢰구간 간단하게 구하는 방법 sas를 이용해서 값들의 기하평균과 신뢰구간을 간단하게 구하는 방법을 알아보자. 참고로 이 옵션은 sas9.1은 되지 않으며 9.2버전 이상만 가능하다. SAS EG도 가능하다. 위의 사진의 코딩처럼 proc ttest에서 옵션부분에 dist=lognormal 이라는 옵션을 사용하면 출력창에 geomean(기하평균값)과 그에 따른 95% 신뢰구간을 출력해 준다. sas 9.1버전에서는 빅데이터의 기하평균을 구하기 위해 로그를 씌우고, proc means해서 다시 exp를 씌우고 하는 작업을 해야는데 (물론 간단한 데이터의 경우에는 geomean() 함수로 해결이 가능함) 9.2 버전 이상부터는 dist=lognormal 옵션이 사용가능하기 때문에 간단한 코딩으로 기하평균과 신뢰구간을 구할 수가 있다. w.. 2014. 2. 27.
[Statistics, 통계] 기하평균(geometric mean) 예를 들어 2, 5, 7, 8 처럼 양수값들이 n개가 있을 경우에 이 값들의 곱의 n제곱근을 기하평균(geometric mean)이라 한다. sas에서 기하평균을 구하는 방법 참조 www.sasbigdata.com/80 [기하평균의 공식] 실제로 공학용 계산기를 이용하여 2, 5, 7, 8에 대해서 기하평균을 구하여 보자. 값이 2, 5, 7, 8로 n의 갯수가 4이다. 기하평균값은 약 4.86이 나왔다. [기하평균과 산술평균의 관계] 위의 공식을 보면 기하평균(geometric mean)은 산술평균(arithmetic mean)보다 크지 않음을 알 수가 있다. 위의 값으로 실제로 구해봐도 2, 5, 7, 8의 기하평균은 약 4.86 산술평균은 5.5로 기하평균은 산술평균보다 크지 않다. [기하평균은 왜.. 2014. 2. 26.
[SAS] sas에서 기하평균(geometric mean) 구하는 방법 sas에서 빅데이터(bigdata)의 이상치 제거를 할 경우 사분위수 q1, q3와 함께 자주 사용되는 기하평균(geometric mean)을 구하는 방법에 대해서 알아보자. 기하평균의 공식과 상세설명 참조 www.sasbigdata.com/81 1. 데이터셋 a는 2, 5, 7, 8 네개의 양수로 구성되어 있다. 2. 먼저 log_k라는 변수에 k값에 로그(log)를 씌워 치환한다. (이때 계산되어지는 값은 밑이 10인 상용로그(log)값이 아닌 밑이 e인 자연로그 ln값이다. ln=log e) 3. 로그로 치환된 log_k값들의 평균을 구한다. proc means를 이용 4. 마지막으로 log_mean(로그로 치환된 값들의 평균)에 지수 exp(exponential의 약자 자연대수 e)를 취한다. 5.. 2014. 2. 26.
[BIGDATA] 보건복지 빅데이터(bigdata) 효율적 관리방안 빅데이터(bigdata)라는 단어가 떠오르면서 세계의 정부와 기업들이 무한한 경제적 가치를 지니고 있는 빅데이터를 다양한 분야에서 적극적으로 활용을 시도 하고 있다. 빅데이터를 많이 보유할 수 밖에 없는 보건 및 의료관련 분야도 자연스럽게 빅데이터에 초점을 두고 연구를 진행하고 있다. 한국보건사회연구원 센터장은 빅데이터를 이렇게 정의했다. 빅데이터의 분석은 기존의 데이터에 가치 있는 새로운 생명을 불어 넣는것 이 말을 해석하자면 빅데이터 시대에 새로운 데이터와 비정형데이터에 너무 초점들을 두고 있지만, 과거의 기존에 축적된 작은 사이즈의 데이터들을 연결해 그 데이터에서 새로운 가치를 찾아낸다면, 그것 또한 빅데이터라고 할 수 있다는 것이다. 실제로 재난 예방 및 구제역 예방등이 기존 과거의 데이터들을 연.. 2014. 2. 24.
[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.