전체 글 65

[SAS] compress 공백 제거 함수

compress(변수[, 문자 표현식] [, modifier]) 데이터에서 숫자 또는 문자만 추출, 압축하는 기능 또는 원하는 문자만 삭제하거나 수정할 수 있다. (modifier에서 설정) 문자형 타입의 변수를 반환한다. 숫자형에서 compress()를 사용하려면, input()을 추가로 사용해줘야한다. /* source 변수 안의 숫자를 전부 제거 */ compress(source, "1234567890"); compress(source, '', "d");/* 수정자modifier "d"는 모든 숫자를 의미 */ /* source 변수 안의 null이나 잘못된 인자(길이가 0인 string)을 제거 */ compress(source, null); compress(source, ''); /* 공백을 제..

[SAS] array 배열, dim 함수

array 배열명[원소의 개수]; []대신 (), {}를 사용하기도 한다. 배열 안의 원소들은 모두 8byte의 길이를 갖는다. 특정한 길이를 선언하고 싶으면 배열 뒤에 한 칸을 띄우고 숫자를 적어줄 것 (문자형 배열의 경우 $뒤에) DIM(배열명) : 배열안의 원소의 개수를 출력 /* rev1, rev2, ...., rev12까지 12개의 원소를 갖는 revenue 배열을 선언 */ array revenue[12] rev1-rev12; /* 문자형 배열 char선언, 배열 안에 들어갈 원소의 개수는 정하지 않음 */ array char[*] _character_; do i=1 to dim(char); char[i] = input(char[i], comma20.); end;

[SAS] varnum 함수

VARNUM( 데이터셋ID, 변수명) SAS 데이터셋에서 변수의 위치 번호를 반환하거나 또는 해당 변수가 존재하지 않는 경우에는 0을 반환한다. 데이터셋 ID : OPEN 함수가 반환하는 데이터 집합 식별자를 지정 【사용법 ①】 PROC CONTENTS 의 옵션으로 사용 → 옵션으로 지정시 변수를 작성순으로 표시 (따로 표시 안해주면 디폴트 값으로 알파벳순으로 정렬됨) 【사용법 ②】 OPEN함수와 함께 사용해서 데이터 셋에 변수가 존재하는지 확인 + 매크로 변수에 해당 위치번호를 넣어서 다음 연산에 활용 /* 데이터셋 bspl 안의 변수들의 번호들을 출력 */ proc contents data=bspl varnum; /* sashelp.class안에 height라는 변수가 존재하는지 확인 */ DATA ..

[SAS] PROC IMPORT 데이터 불러오기

/* SAS에서 다수의 물리파일을 읽어들일 때 macro를 많이 사용한다. %macro 매크로명(불러올 파일명, 출력할 데이터셋명) proc import ... run; ... %mend; */ %macro import(ds, out); proc import datafile = "파일패스\&ds..txt" dbms = dlm/* specifies the type of data to import dlm : 구분자가 있는 파일 (디폴트 구분자는 빈칸) */ out = $out. replace;/* overwrites an existing SAS data set */ getnames = yes; /* 불러오는 파일 안의 첫 줄의 변수명을 가져올 것인지 */ guessingrows = max; delimiter..

[SAS] PROC DATASETS

PROC DATASETS : SAS files들을 관리 다양한 기능이 있지만, 특히 많이 사용하는 경우는 특정 라이브러리의 데이터셋을 삭제하는 경우 - DELETE : 특정 라이브러의 데이터셋들을 삭제하는 경우 - SAVE : SAVE문 뒤에 적어준 데이터셋을 제외하고 특정 라이브러리의 모든 데이터셋을 DELETE문으로 지울 때 proc datasets lib="libname"; DELETE 삭제할데이터셋명; SAVE 저장할데이터셋명; quit; PROC DATASETS lib=work kill; run; /* work 라이브러리의 데이터를 전부 삭제 */ 그 외 상세한 기능은 하단의 공식 사이트 참고 https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/pr..

[SAS] MACRO ① : Macro 사용 목적과 기능

MACRO 문 SAS에는 for과 같은 반복문이 존재하지 않는다. do; end; 문이 존재하지만 기본 루프형이기 때문에 심플한 행단위의 처리에 적합하다. 그 대안으로 많이 사용되는게 MACRO구문이다. 즉, 코드의 반복적인 섹션을 방지하고 필요할 때 반복해서 사용할 수 있도록 해주는 것. 예를 들어 2017년부터 2019년까지 3년간의 회계 데이터가 있다. 데이터 가공처리 방법은 똑같고 해당 데이터의 연도만 다르다고 하자. (예) sample_bspl_2017, sample_bspl_2018, sample_bspl_2019 이 안의 각종 복잡한 포맷변환, 결측치 처리 등의 데이터 가공처리를 매 파일 마다 각각 적어주기는 너무나도 번거롭다. 3개면 몰라도 이런 파일이 10개, 20개가 된다고하면 복사 붙..

[R] 데이터 형태와 데이터 형변환

R 데이터 형태 = 데이터 타입(자료형) NA : Not Available → 사용 불가능. 데이터에 값이 존재하지 않음 - NULL은 값이 정의되지 않아 아예 없는 것. NA는 정의되지 않은 값 > A_score A_score [1] 90 80 43 50 NA > B_score B_score [1] 90 50 98 59​ -Inf 및 Inf : 음과 양의 무한대 NaN : Not a Number → 수의 연산이 불가능한 경우(0/0, Inf/Inf 등) True or False → T, F로도 표현 가능 > x y x [1] TRUE FALSE > y [1] TRUE FALSE > z Error: object 'z' not found > z z Z Error: object 'Z' not found > ..

Data Analysis/R 2021.06.12

[SAS] 단일 IF

단일 If = Subsetting If 조건이 참이면 현재 실행을 계속하고(implicit output 문장 포함), 거짓이면 해당 obs에 대해 더 이상 다른 문장을 실행하지 않고 (삭제drop하고) 즉시 DATA step의 처음으로 돌아간다. (관측 값을 PDV(Program Data Vector)로 읽은 후 조건을 테스트한다) If without then is a subsetting statement, and all records not satisfying the condition are dropped. "Continues processing only those observations that meet the condition of the specified expression" IF AGE="10"..

[R] 자주 쓰는 단축키 모음

자주 사용하는 R 단축키 모음 선택된 블록 주석처리하기 : ctrl[cmd] + shift + C Ctrl + Shift + c : 한 줄 주석처리 Ctrl + Shift + n : 새 스크립트 창 열기 Script에서 코드 실행 (커서를 코드 처음이나 끝에 위치시킨 상태로) : ctrl + Enter Ctrl + 1 : script 창으로 이동 Ctrl + 2 : console 창으로 이동 Ctrl + L : 콘솔 창 지우기 Ctrl + S : 스크립트 저장 Ctrl + W : 스크립트 창닫기 Ctrl + Shift + M : %>% Alt + - : keyboard shortcuts help( Alt + Shift + K) 단축키 직접 설정하기 : Tools > Modify KeyBoard Short..

Data Analysis/R 2021.06.10

[R] 프로젝트 관리

각각의 R 섹션은 프로젝트로 관리된다 → R작업에서 항목별로 작업에 따라 별개로 저장한다. 이 때 파일들을 각각의 프로젝트 별로 grouping해서 관리설정한 디렉토리 안에 프로젝트명.RProj 파일이 형성되고, 여기에 작업 내용이 저장된다. e.g. New project → New Directory → New Project ... → 프로젝트이름 설정 프로젝트 안에 R Script 추가해서 이용하는걸 추천 e.g. File → New File → R Script와 동일 프로젝트를 저장하면 분석 중인 소스와 데이터 등 모든 것이 저장됨 → 추후에는 그냥 불러와서 별도의 설정없이 이어가면 됨.

Data Analysis/R 2021.06.10