본문 바로가기

전체 글163

[SAS] sas proc means 기초통계량 결과 데이터 작업 응용 방법 오늘은 SAS의 proc means 프로시저를 통해 나온 기술통계량 결과를 원하는대로 작업하여 본다. sas의 proc means는 정말 자주 사용되어 많은 사람들이 가장 기본적으로 유용하게 사용되는 기술통계량을 구해주는 프로시저이다. 옵션도 다양하고 그룹별로도 통계량을 낼수도 있고 통계량을 데이터셋으로 만들어 추가 핸들링을 통해 원하는 결과보고서 형태로 데이터를 만들어 응용해볼수도 있다. 오늘 알아볼 내용은 간단하게 소개하면 그룹별 통계량을 구해보는 것이며, 자세하게 들어가면 대분류 세분류 2단 구조의 그룹의 기술통계량을 출력하는데 조건은 세분류별 통계량 출력 아래 대분류 전체 통계량을 각각 끼워넣는 결과를 원한다는 것이다. 어차피 글로는 잘 이해가 되지 않으니 스크린샷과 함께 보며 이해해보자. 간략하.. 2018. 10. 19.
[EXCEL] 엑셀 워크시트 함수 통계함수 EXCEL(엑셀)의 통계함수에 대해서 알아보자. AVEDEV 평균으로부터 데이터의 절대 편차의 평균을 구한다. AVERAGE 모든 인수들의 평균을 구한다. BETADIST 베타분포의 누적분포함수값을 구한다. BETAINV 베타분포의 역누적분포함수값을 구한다. BINOMDIST 각 항목의 이항 분포 확률값을 구한다. CHIDIST 카이제곱분포의 누적분포함수값을 구한다. CHIINV 카이제곱분포 역누적분포함수값을 구한다. CHITEST 독립성 검정의 검정통계량값을 구한다. CONFIDENCE 모평균의 신뢰 구간을 표시한다. CORREL 두 데이터 집합 사이의 상관계수를 표시한다. COUNT 인수 목록에서 인수 개수를 구한다. COUNTA 인수 목록에서 값의 개수를 구한다. COVAR 각 데이터 쌍의 공분산을.. 2018. 10. 19.
[EXCEL] 엑셀 워크시트 함수 수학 삼각 함수 EXCEL 엑셀의 수학 삼각함수에 대해 알아보자. ABS절대값을 구한다. ACOS아크 코사인(코사인의 역함수)값을 구한다. ACOSH역 하이퍼볼릭 코사인값을 구한다. ASIN아크사인(사인의 역함수)값을 구한다. ASINH역 하이퍼볼릭 사인값을 구한다. ATAN아크탄젠트(탄젠트의 역함수)값을 구한다. ATAN2좌표에서 아크탄젠트값을 구한다. ATANH역 하이퍼볼릭 탄젠트값을 구한다. CEILING올림을 하여 가장 가까운 정수나 배수를 구한다. COMBIN주어진 개체로 만들수 있는 조합의 수를 구한다. COS코사인값을 구한다. COSH하이퍼볼릭 코사인값을 구한다. COUNTIF주어진 찾을 조건과 일치하는 범위의 값이 들어있는 셀 개수를 구한다. DEGREES라디안을 각도로 변환한다. EVEN올림하여 가장 가.. 2018. 10. 18.
[EXCEL] 엑셀 워크시트 함수 논리함수 EXCEL(엑셀)의 논리함수에 대해서 알아보자. AND모든 인수가 TRUE이면 TRUE를 표시한다. FALSE논리값 FALSE를 표시한다. IF수행할 논리 검사를 정의한다. NOT인수 논리값의 역을 구한다. OR인수가 하나라도 TRUE이면 TRUE를 표시한다. TRUE논리값 TRUE를 표시한다. 2018. 10. 18.
[SAS] SAS 숫자 날짜 변환 input, put, format 이용방법 이번 데이터 작업 내용은 input과 put 그리고 format을 활용하여 아주 유용하게 활용할 수 있는 방법이다.가지고 있는 데이터가 숫자형 변수이면서 8자리인 생년월일을 가지고 있는 경우 이 숫자에 원하는 일수를 더하면 몇년 몇월 몇일이 나오는지가 궁금할 때 활용될수 있는 방법이다. 보건의료쪽에서 활용해 본다면 요양개시일이나 최초입원일자를 알고 있는 상황에서 재원일수 또는 입원일수 몇일을 더했을때 과연 요양종료일이나 최종퇴원일자를 구하고 싶을때 활용될수 있다. 일반적으로는 데이터에 요양종료일이라던지 퇴원일을 가지고 있겠지만 임의로 원하는 일수를 더하고 싶은 경우가 생길때 사용될수 있는 것이다. 이외에도 금융이나 보험또는 기념일 등 날짜에 원하는 일수를 추가해서 몇일이 되는지 다양하게 응용해서 사용할수.. 2018. 10. 15.
[SAS] 2개의 변수 조합 빈도구하기(앞뒤 변수 변경을 동일건으로 판단할 경우, 경우의 수) 변수 조합의 빈도를 구하는 경우의 질문이 많다. 항상 말하지만 통계분석은 책이나 인터넷 등 강의를 듣고 틀에 짜여진 분석 코드에 변수만 넣어서 돌리고 해석하면 문제가 되지 않는다. 문제는 그 분석용 데이터 정제과정은 누가 가르쳐주지도 않고 그 때 상황에 맞게 본인이 창의적으로 해결해야 하는 부분인 것이다. 이와 같은 작업이 능숙하게 단축되면 전체적인 통계작업이 매우 많이 단축된다. 이번 내용은 칼럼이 2개가 있는 상황에서 이 두가지 칼럼을 붙여서 조합의 빈도를 구하고 싶은데 추가 조건이 칼럼을 붙였을때 앞뒤칼럼의 순서를 바꾸어서 일치하는 건이 있으면 그것은 동일건으로 본다는 것이다. 내용 자체는 매우 단순하다. 칼럼 두개의 조합을 보는데 앞뒤 변경시 동일한게 있으면 동일건으로 보고 빈도를 구한다는 것이다.. 2017. 3. 23.
[SAS] 기하평균 및 표준편차 적용시 round error 해결 방법 설명에 앞서서 예로 사용된 이상치제거 방법론에 관한 수식은 의미가 없으며, round error 방법을 해결하는 것을 쉽게 보여주기 위해 기하평균과 기하표준편차를 사용하지 않고, 간단하게 그냥 일반 표준편차를 사용하였을 뿐 방법론적으론 의미가 없음을 알린다. 아래 코드에 주석으로 달아놨지만핵심은 이것이다.1. 그룹내 값이 모두 동일할 경우 std는 0로 나오지만 그룹내 단건인 경우는 std가 결측치로 나타남 그러므로 결측치를 0로 변환해줘야함여러 그룹중에 한 그룹에 모두 동일한 값이 있는 경우도 있다. 이 경우에는 표준편차가 0로 나오지만, 만약 한 그룹이 한건으로 구성되어 있다면 이경우 표준편차는 . (결측치)로 표기된다.그래서 결측치를 나타내는 .(마침표)를 0값으로 변환시켜줘야 수식에 오류가 생기지.. 2017. 2. 9.
[SAS] sas9.4 results viewer 누적형식 수정방법 SAS 9.2에서는 프로시저 명령어를 실행시 results viewer 창에 실행했던 결과만 깔끔하게 나타났다. 하지만 9.4를 사용하는데 results viewer 창에 이전에 돌렸던 결과 아래에 결과들이 순차적으로 누적되는 형식으로 바뀌었다. 알아보니 9.3부터 이게 바뀐 것이다. 이 경우 나는 내가 확장편집기에서 실행한 것에 대한 결과만 보고싶을 경우 사용되는 명령어를 알아보도록 하자. 예를 들어보면 data test; input cost; cards; 100 200 4500 ; run; proc means data=test min max; var cost; run; proc means data=test std cv; var cost; run; 위와 같은 문장을 실행하면 실행 할때마다 기초통계량 값.. 2017. 2. 7.
[R프로그램] R에서 조건에 따른 부분집합을 구하는 경우 R프로그램에서 조건에 따른 부분집합을 구하는 경우를 실습하여 보자. sas를 이용한다면 if group=2; 라는 조건문을 주어서 쉽게 구할수 있다. R프로그램에는 여러가지 함수들이 있는데 이 경우에 사용되는 것이 subset()이라는 함수이다. 아래의 그림을 참조하자. R-studio에서 실행한 결과이다. a라는 데이터프레임에서 group변수의 값이 2인 것에 대한 데이터만 추출하는데 이 경우에 결측값인 NA도 함께 제거하는 경우이다. 일반적으로 group변수의 값이 2인 것만 가져올 경우 프로그램 코딩에 따라 결측값인 NA값도 포함해서 들고오는 경우가 있는데 친구의 질문으로 한번 해보았다. subset이라는 함수를 알아두면 간단하지만 아주 유용하게 사용될 것이다. www.sasbigdata.com 2015. 8. 19.
[SAS] SAS의 PROC GLM 구문의 출력결과를 ODS OUTPUT으로 뽑아내는 방법 이전 TTEST를 예로 들어서 PROC TTEST의 결과를 데이터형식으로 뽑아내는 방법을 알아봤었다. 그때 사용한 구문이 ODS OUTPUT 문장이였는데, 과연 다른 분석결과도 같은 방법으로 사용하면 가능할까? PROC TTEST의 경우에는 아래와 같이 STATISTICS, TTESTS, EQUALITY를 사용하면 각각의 출력결과를 데이터 형식으로 뽑아내는 것이 가능하다. 그 데이터셋을 FORMAT문이나 다른 파일형식으로 출력하면 십진수로 나타나있는 결과값 또한 한자리수까지 정확하게 파악하는 것이 가능하다. [형식] ods output statistics=STATS; ods output ttests=T; ods output equality=EV; [참고] http://sasbigdata.com/160 그.. 2015. 3. 30.
[SAS] SAS 분석 출력 결과 ODS output방법 및 십진수로 표시된 숫자 푸는 방법 오늘 알아볼 내용은 그닥 중요한 것은 아니지만 실무자중에 호기심이 많은 여성분이 질문하여 나또한 호기심이 발동해 해본 것이며, 딱히 검색을 해도 잘 없길래 작성을 해본다. 일반적으로 우리가 어떤 분석을 하면 output이나 out을 이용해 데이터셋으로 출력을 하기도 하는데 유의확률값이나 출력창에 나타나는 출력값들은 따로 데이터셋으로 만들지는 않는다. 만약에 SAS에서 PROC TTEST를 이용해서 출력창에 나타나는 분석결과를 데이터형식으로 저장하고 싶다면? 두번째로 그 출력결과에 나타난 통계값들이 예를 들어 평균이나 표준편차가 너무 큰값이 나와서 지수(E)형태로 나왔을 때 1자리 숫자까지 정확하게 보고싶을 경우에는? 기초통계량 값 같은 경우에는 PROC MEANS를 이용해서 분석하면 1자리 수까지 정확하.. 2015. 3. 19.
[SAS] sas에서 그룹별 데이터수 지정후 표본추출시 데이터수 이하인 경우 모두 추출하는 옵션 오늘 알아볼 옵션은 9글자만 추가 입력하면 엄청난 노가다 작업을 한번에 해결 할 수 있는 유용한 옵션이다. 데이터에서 sas를 이용해 표본을 추출하는 경우에 proc surveyselect 라는 명령문을 사용한다. 몇건을 뽑을지 지정 할수도 있고, 그룹별로 몇건씩 혹은 비율을 이용하여 추출하는 등 여러가지 방법으로 추출할 수가 있는데 이해도를 높이고자 간단한 예를 통해서 알아보도록 하자. 먼저 대용량이든 저용량이든 임의의 규모의 데이터가 있다. 그룹별로 10건씩 데이터를 추출 할 것인데, 실무데이터에서는 여러가지 경우의 수가 생기고, 실제 한 그룹에 모집단 데이터가 10건이 안되는 경우도 있을 수가 있다. 예를 들어 그룹별로 단순무작위추출방법(SRS)을 이용해 10건씩 추출할 경우 코딩예시 proc so.. 2015. 3. 17.