< 'SAS연습200제' 카테고리의 글 목록
본문 바로가기

SAS연습200제47

SAS에서 관측치에 일련번호 붙이기 - _N_ 이용 * 일련번호 붙이는 SAS 프로그램; DATA a1; INPUT id $ gender $ wei hei age join $10. ; CARDS; A001 F 65 171 23 2012-01-23 A003 F 66 172 24 2012-02-29 A002 M 68 177 40 2004-04-31 B003 F 69 176 38 2003-01-23 B001 M 67 173 43 2003-05-05 B002 M 72 178 42 2004-06-24 ; PROC PRINT; RUN; DATA b1;SET a1; seq = _N_; PROC PRINT; RUN; 2025. 5. 17.
Q_05_01. SAS에서 제공하는 함수 SAS에는 다른 소프트웨어처럼 여러 가지 기능을 가진 내장 함수를 갖고 있어서 이를 알아두면 상당히 편리하게 사용할 수 있습니다. 이를 모르면 데이터 처리가 쉽지 않고, 때로는 함수에 해당하는 프로그램을 직접 만들어야 하는 경우도 있게 됩니다. 이런 기능을 모르면 SAS로는 해결할 수 없는 경우가 많으며 “SAS로는 해결할 수 없다.”라고 생각하게 됩니다.1. 연산(Arithematic) 기능 함수연산을 담당하는 함수로 다음과 같은 것들이 있습니다.함수 이름기능예시ABS(argument)절대값을 계산합니다ABS(-1) => 1MAX(argument, argument, ...)최대값을 구합니다MAX(1, 2, 3, 4, 5) => 5MIN(argument, argument, ...)최소값을 구합니다 MOD.. 2025. 3. 28.
Q_07_01. SAS에서의 날짜 개념 엑셀에서 숫자 ‘1’을 입력하고 [셀서식]-[날짜]를 선택하여 날짜형태로 표시해 보면 “1900-01-01” 로 보이게 됩니다. 엑셀에서는 1900년 1월1일을 기준으로 하고 있는 것을 볼 수 있습니다.SAS 에서 날짜는 1960년 1월 1일을 기준으로 한 숫자 값으로 표현됩니다. 이 날짜를 '기원'이라 하며, 이후의 날짜는 양의 정수로, 이전의 날짜는 음의 정수로 표현됩니다.1960년 1월 1일을 숫자 0으로 하고, 1960년 1월 2일은 숫자 1로 기억합니다. 그리하여 하루 전인 1959년 12월 31일은 –1, 1년 뒤인 1961년 1월 1일은 366이 됩니다.SAS에서는 내부적으로 기억할 때에는 숫자형으로 기억하여 날짜형 데이터를 다룰 때 “날짜는 숫자변수와 비슷하구나.” 라는 개념으로 이해를 하.. 2025. 3. 28.
Q_08_01. SQL 이란 무엇인가? SQL(Structured Query Language)은 관계형 데이터베이스의 테이블(Table)을 정의하고(define), 조작하고(manipulate), 질의(query)를 하는 데 사용되는 표준화된 언어입니다. 테이블을 정의하고, 테이블에 레코드를 추가하고, 추출하고, 갱신하는 데 사용됩니다.SAS에서는 PROC SQL을 이용하여 여러 가지 데이터를 다루는데 유용하게 사용할 수 있습니다. SET문, MERGE문을 이용하여도 거의 모든 문제를 해결할 수 있으나 가끔 DATA 스텝 기능만으로 해결하기 어려운 일이 있고, 데이터베이스와 연동하여 작업을 하는 경우에는 PROC SQL의 기능을 이용하면 훨씬 편리하게 사용할 수 있습니다. SAS의 기능을 잘 몰라도 PROC SQL 만을 잘 사용하면 데이터 처.. 2025. 3. 28.
Q_09_03. 난수를 만들어 표본을 추출하기 - UNIFORM( ) 함수 이용 SAS에서 UNIFORM 함수를 사용하여 난수를 생성하고 이를 통해 표본을 추출할 수 있습니다. UNIFORM 함수는 0과 1 사이의 균등분포를 따르는 난수를 생성하며, 이를 기반으로 원하는 크기의 표본을 추출할 수 있습니다.다음은 UNIFORM 함수를 사용하여 표본을 추출하는 예제입니다.data my_data; input id value; datalines; 1 10 2 15 3 20 4 25 5 30 6 35 7 40 8 45 9 50 10 55;run;data sample_data; set my_data; if uniform(12345) 코드 설명DATA my_data;: 원본 데이터를 정의합니다.id와 value 변수로 구.. 2025. 3. 28.
Q_09_02. SAS에서 정규분포 사용하기 SAS에서 정규분포와 관련된 함수를 사용하여 다양한 분석을 할 수 있습니다. SAS의 주요 정규분포 함수들은 다음과 같습니다:1. PDF (확률 밀도 함수) - PDF('NORMAL', x, mu, sigma)특정 값 x에서의 정규분포의 확률 밀도를 계산합니다.data density; x = 1; mu = 0; sigma = 1; density_value = pdf('NORMAL', x, mu, sigma); put density_value=;run;2. CDF (누적 분포 함수) - CDF('NORMAL', x, mu, sigma)특정 값 x까지의 정규분포 누적 확률을 계산합니다.data cumulative; x = 1; mu = 0; sigma = 1; .. 2025. 3. 28.
Q_09_01. 통계적 확률분포 관련된 함수 사용하기 SAS에서는 다양한 확률 분포와 관련된 함수를 제공하여 데이터 분석과 모델링을 지원합니다. SAS에서 확률분포 함수를 사용하는 기본적인 방법과 주요 함수들을 아래에 정리했습니다.1. 확률밀도 함수 (PDF, Probability Density Function)특정 값에서 확률 분포의 확률 밀도 값을 반환합니다.사용 예시:data pdf_example; x = 1.5; normal_pdf = pdf("NORMAL", x, 0, 1); /* 평균이 0, 표준편차가 1인 정규분포의 PDF 값 */ exponential_pdf = pdf("EXPONENTIAL", x, 1); /* 평균이 1인 지수분포의 PDF 값 */ output;run;2. 누적분포 함수 (CDF, Cumulative .. 2025. 3. 28.
Q_10_01. SAS Ondemand for Academics 사용하기 SAS 무료버전인 SAS University Edition(UE) 에 대하여 설명한 바 있는데 SAS UE는 더 이상 지원하지 않습니다.대신 SAS 클라우드 제품인 SAS Ondemand for Academics(ODA) 을 지원합니다.다음과 같이 접속합니다. https://welcome.oda.sas.com/home화면 아래로 이동하면 SAS Ondemand에 대한 기능을 살펴볼 수 있습니다.https://youtu.be/dfnKFpdMip8 이메일과 암호를 입력하고 ☑ Accept the terms of the license 선택 -> [Sign In] 클릭"SAS Studio" 클릭 SAS Ondemand for Academics 의 주화면 SAS 프로그램 입력 SAS 프로그램 실행 결과 SAS 프.. 2025. 3. 28.
Q_01_14. SAS/GRAPH에는 어떤 프로시져(PROC문)가 있는가? SAS/GRAPH에서는 각종 분석결과를 그래프로 보여주는 프로시져들을 포함하고 있습니다.저자는 통계이론 적용과 대용량 데이터 처리에 주로 관심이 많아서 SAS/GRAPH의 기능을 거의 쓰지 않고그래프를 이용할 경우에는 다른 그래픽툴을 이용합니다. (1) SAS/GRAPH에서 제공하는 프로시져GCHARTGCONTOUR GDEVICEGFONTGMAPGOPTIONSGPLOTGPRINTGPROJECTGREDUCEGREMOVEGREPLAYGSLIDEGTESTITG3DG3GRIDSAS/BASE의 CHART를 연속적으로 그리는 기능삼차원 등고선(Contour)를 그리는 기능, SAS/BASE의PLOT에서 contour 옵션을 선택한 것과 같은 기능출력장치를 관리하는 기능글자체(폰트)를 관리하는 기능이차원 또는 삼차원.. 2025. 3. 28.