๐Ÿ•น๏ธ

5.3.2. proc

1. Proc

PROC(procedure, ์ ˆ์ฐจ) ๋ช…๋ น์–ด๋Š” ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ช…๋ น์–ด๋ฅผ ์ ˆ์ฐจ์— ๋งž๊ฒŒ ์‹คํ–‰ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค. PROC ๋’ค์— ์‚ฌ์šฉํ•  SAS ๊ธฐ๋Šฅ๋ช…์„ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ถœ๋ ฅ ๋ฐ์ดํ„ฐ์—์„œ ๋ณ€์ˆ˜๊ฐ€ ํ•œ๊ธ€๋กœ ๋‚˜์™€์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ๋ณด๊ธฐ๊ฐ€ ์ปฌ๋Ÿผ ๋ ˆ์ด๋ธ”๋กœ ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์ด๊ณ , ์‹ค์ œ ๋ณ€์ˆ˜๋Š” ์ปฌ๋Ÿผ ์ด๋ฆ„(๋ณ€์ˆ˜๋ช…)์œผ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

2. print

๋ฐ์ดํ„ฐ ์…‹์„ ๋‹จ์ˆœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
proc print data=๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ช….๋ฐ์ดํ„ฐ์…‹; var ๋ณ€์ˆ˜๋ช… ๋ณ€์ˆ˜๋ช…; run;
ย 
proc print data=mysas.subject_test1; var name subject; run;
ย 
var๋ฅผ ํ‘œ๊ธฐํ•œ ์‹คํ–‰ํ™”๋ฉดvar๋ฅผ ํ‘œ๊ธฐํ•œ ์‹คํ–‰ํ™”๋ฉด
var๋ฅผ ํ‘œ๊ธฐํ•œ ์‹คํ–‰ํ™”๋ฉด
ย 
var๋ฅผ ํ‘œ๊ธฐํ•˜์ง€ ์•Š์€ ์‹คํ–‰ํ™”๋ฉดvar๋ฅผ ํ‘œ๊ธฐํ•˜์ง€ ์•Š์€ ์‹คํ–‰ํ™”๋ฉด
var๋ฅผ ํ‘œ๊ธฐํ•˜์ง€ ์•Š์€ ์‹คํ–‰ํ™”๋ฉด
var๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ๋ฐ์ดํ„ฐ์—์„œ ๋ณด๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋งŒ ์ถœ๋ ฅํ•˜์—ฌ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ย 

3. means(๊ธฐ์ดˆํ†ต๊ณ„๋Ÿ‰)

์—ฐ์†ํ˜• ์ˆซ์žํ˜• ๋ณ€์ˆ˜๋“ค์— ๋Œ€ํ•œ ํ‰๊ท , ํ‘œ์ค€ํŽธ์ฐจ, ์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’์„ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
proc means data=๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.๋ฐ์ดํ„ฐ์…‹; var ๋ณ€์ˆ˜๋ช…; /*ํ†ต๊ณ„๋Ÿ‰์ด ์•Œ๊ณ ์‹ถ์€ ๋ณ€์ˆ˜*/ by ๋ณ€์ˆ˜๋ช…; /*๋ณ€์ˆ˜๋ณ„ ์ •๋ ฌ ํ†ต๊ณ„*/ class ๋ณ€์ˆ˜๋ช…; /*์ •๋ ฌํ•  ํ•„์š” ์—†๊ณ  ๋ณ€์ˆ˜๋ณ„ ํ†ต๊ณ„*/ run;
ย 
๋ช…์‹œํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ชจ๋“  ์ˆ˜์น˜์— ๋Œ€ํ•ด ๊ธฐ์ดˆํ†ต๊ณ„๋Ÿ‰์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
proc means data=jeju.subject_test1; run;
ย 
notion imagenotion image
ย 
proc means data=mysas.subject_test1; var score; run;
ย 
notion imagenotion image
ย 

3.1 By, Class

๊ธฐ์ดˆํ†ต๊ณ„๋Ÿ‰์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด Table ์„ ์–ธํ•˜๊ธฐ
data mysas.subject_score; input id name $9. one two three; datalines; 1 ์ดํ˜ธ์ค€ 92 81 32 2 ์ดํ˜ธ์ค‘ 80 95 91 3 ์ด๊ธธ๋™ 90 42 42 4 ์ด์ค€ํ˜ธ 86 71 41 ; run; proc print data=mysas.subject_score; run;
ย 
notion imagenotion image
ย 
class์™€ by ๋น„๊ตํ•ด๋ณด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
by
proc means data=mysas.subject_score; var one; by id; run;
ย 
notion imagenotion image
ย 
class
proc means data=mysas.subject_test1; var score; class name; run;
ย 
notion imagenotion image

4. contents

๋ฐ์ดํ„ฐ์…‹์— ๊ด€ํ•œ ์ƒ์„ธ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜๋“ค์ด ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
ย 
proc contents data=๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.๋ฐ์ดํ„ฐ์…‹; run;
ย 
proc contents data= mysas.subject_test1; run;
ย 
jupyter notebookjupyter notebook
jupyter notebook
sas studiosas studio
sas studio

5. sort

by์—์„œ ์ •ํ•ด์ค€ ๋ณ€์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•ด์ค๋‹ˆ๋‹ค.
proc sort data=๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.๋ฐ์ดํ„ฐ์…‹; by ๋ณ€์ˆ˜; run;
ย 
PROC PRINT์—์„œ ๊ทธ๋ฃน์„ ์„ค์ •ํ•˜๋Š” BY๊ตฌ๋ถ„์€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ๋ผ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
DESCENDING: ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ์„ ํ•ด์ค๋‹ˆ๋‹ค.
ย 
proc sort data=๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.๋ฐ์ดํ„ฐ์…‹; by DESCENDING ๋ณ€์ˆ˜; run;
ย 
proc sort data=mysas.subject_score; by DESCENDING id; run; proc print data=mysas.subject_score; run;
ย 

5. freq

freq ๋ฌธ : ๋นˆ๋„ ์กฐํšŒ๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค.
  • ๋ถ„ํ• ํ‘œ๋ฅผ ๊ทธ๋ ค์ค€๋‹ค.
  • ๋นˆ๋„,๋ฐฑ๋ถ„์œจ,๋ˆ„์ ๋นˆ๋„,๋ˆ„์ ๋ฐฑ๋ถ„์œจ์„ ๋ณด์—ฌ์ค€๋‹ค.
table: ์•Œ๊ณ ์‹ถ์€ ๋ณ€์ˆ˜๋ฅผ ๋ถ„์„ํ•ด์ค๋‹ˆ๋‹ค.
ย 
proc freq data=๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ช….๋ฐ์ดํ„ฐ; table ๋ณ€์ˆ˜๋ช…; run;
ย 
proc freq data=jeju.subject_test1; table class_; run;
ย 
jupyter notebookjupyter notebook
jupyter notebook
notion imagenotion image
ย 
by: by ๋ณ€์ˆ˜๋ณ„๋กœ ๋”ฐ๋กœ table ๋ณ€์ˆ˜๋ฅผ ๋ถ„์„ํ•ด์ค๋‹ˆ๋‹ค.
proc freq data=๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ช….๋ฐ์ดํ„ฐ; table ๋ณ€์ˆ˜๋ช… ๋ณ€์ˆ˜๋ช… by run;
2์ฐจ์› ๋ถ„ํ• ํ‘œ
ย 
notion imagenotion image
notion imagenotion image
notion imagenotion image
ย 
notion imagenotion image
table ๋ณ€์ˆ˜๋ช…*๋ณ€์ˆ˜๋ช…๋กœ ํ‘œํ˜„ํ•˜๋ฉด 2์ฐจ์› ๋ถ„ํ• ํ‘œ๊ฐ€๋‚˜์˜ต๋‹ˆ๋‹ค.
ย 
proc freq data=mysas.subject_test1; tabel class_*subject; run;
ย 
notion imagenotion image

6. univariate ๋ฌธ

Python(Pandas)์— describe ์ž…๋‹ˆ๋‹ค.
ํ‰๊ท , ์ค‘์•™๊ฐ’, ํ‘œ์ค€ํŽธ์ฐจ, ์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’, ์‚ฌ๋ถ„์œ„์ˆ˜, ๋ฐฑ๋ถ„์œ„์ˆ˜ ๋“ฑ์— ๋Œ€ํ•œ ๊ธฐ์ดˆํ†ต๊ณ„๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
์•Œ๊ณ  ์‹ถ์€ ๋ณ€์ˆ˜๋“ค์˜ ํ†ต๊ณ„๋Ÿ‰์„ ์ „๋ถ€ ์ถœ๋ ฅํ•ด์ค๋‹ˆ๋‹ค.
ย 
proc UNIVARIATE data=mysas.subject_test1; var score; run;
ย 
jupyter notebookjupyter notebook
jupyter notebook
sas studiosas studio
sas studio
ย 

7. proc ๋ฌธ์—์„œ ์กฐ๊ฑด์ง€์ •

where ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
proc print data=mysas.subject_test1; where score>=90; run;
ย 
ย 
notion imagenotion image
ย 
notion imagenotion image
ย 
๐Ÿ•น๏ธ
5.3.3. SAS์˜ SQL