|
|
|
SAS Notes for Instant Usages
ÀÌ
¹®¼´Â SAS¸¦ óÀ½ »ç¿ëÇϰųª ¿À·¡ Àü¿¡ »ç¿ëÇÑ »ç¶÷ÀÌ »¡¸® SAS¿¡
ÀûÀÀÇϴµ¥ µµ¿òÀ» ÁÖ±â À§ÇÏ¿© 1992-1993³â °í·Á´ëÇб³ ÄÄÇ»ÅÍŬ·´ °Ü¿ï°øºÎ¸ðÀÓ°ú 1998³â °í´ë ´ëÇпø ÇàÁ¤Çаú °Ü¿ï Åë°èÇаøºÎ¸ðÀÓ ÀڷḦ ±âÃÊ·Î ÀÛ¼ºµÇ¾ú´Ù. ÀÌ ¹®¼´Â
SASµµ½º¹öÀü°ú À©µµ¿ì Ãʱâ¹öÁ¯(6.11 ¹Ì¸¸)À» ±âÁØÀ¸·Î Å×½ºÆ®µÇ¾úÀ¸¹Ç·Î
¹®¹ýü°è´Â Unix¸Ó½ÅÀ̳ª Mac ȤÀº IBM-PC¸ðµÎ µ¿ÀÏÇÒÁö¶óµµ ¿î¿µÃ¼°è¿Í
»õ¹öÀü¿¡ µû¶ó¼´Â ¼¼ºÎÀûÀÎ ½ºÆå(¸Þ¸ð¸®, º¯¼ö, stepÀÇ ÇÑ°è µî)ÀÌ
´Ù¸¦ ¼ö ÀÖÀ½À» ¹àÈù´Ù.
ÀÌ
¹®¼°¡ ÂüÁ¶ÇÑ ÁÖ¿ä ¼ÀûÀº ´ÙÀ½°ú °°´Ù.
- SAS
Institute Inc. 1985. SAS
Language Guide for Personal Computers, Version 6 Edition
- SAS Institute Inc. 1982. SAS/ETS
User's Guide: Econometrics and Time Series Library
- °í·Á´ëÇб³
ÀüÀÚ°è»ê¼Ò(Korea University Computer Center). (1980³â´ë ÃÊ). SAS Workshop ±³Àç
- °í·Á´ëÇб³ ÄÄÇ»ÅÍŬ·´(Korea University
Computer Club). (1980³â´ë ÃÊ). SAS User's Gudie (Ư°¿ë ±³Àç)
- ±èÃæ·Ã. 1993. SAS¶ó´Â Åë°è»óÀÚ:
Åë°èºÐ¼® ¹× ½ÃÀåÁ¶»ç±â¹ýÀ» Áß½ÉÀ¸·Î. ¼¿ï: µ¥ÀÌÅ͸®¼Ä¡
- Çã¸íȸ ¿Ü. 1989. PC¸¦ À§ÇÑ SAS°¡À̵å.
¼¿ï: ÀÚÀ¯¾ÆÄ«µ¥¹Ì
ÀÌ
¹®¼´Â ´©±¸µçÁö ÀúÀÚÀÇ
Çã¶ô¾øÀ̵µ "¿ø¹® ±×´ë·Î¸¦
À¯ÁöÇÑ »óÅ·Î" ¹èÆ÷/»ç¿ëÇÒ
¼ö ÀÖÀ¸³ª ¾î´À °æ¿ì¿¡µç »ó¾÷ÀûÀÎ ¿ëµµ·Î »ç¿ëÇÒ ¼ö ¾ø´Ù. ¾Æ¿ï·¯ ¹®¼¿¡´Â
À߸øÀÌ ÀÖÀ» ¼ö ÀÖÀ¸¸ç, ÀÌ·Î ÀÎÇÑ °¢Á¾ ¹®Á¦¿¡ ´ëÇÑ Ã¥ÀÓÀº ÀúÀÚ°¡
Áú ¼ö ¾øÀ½À» ¹àÈù´Ù.
Basic Rules
- ¾î´À Ä®·³(column)¿¡¼³ª ½ÃÀÛÇϰí
¾î´À Ä÷³¿¡¼³ª ³¡³¾ ¼ö ÀÖ´Ù. ÄÀ̳ª ÁÙÀ» ¸ÂÃâ Çʿ䰡 ¾øÀ¸¸ç,
¶ç¾î¾²±â°¡ ÀÚÀ¯·Ó´Ù.
- ÇÑ ¹®ÀåÀ» ¿©·¯ ÁÙ¿¡ ¾µ ¼öµµ ÀÖÀ¸¸ç,
¿©·¯ ¹®ÀåÀ» ÇÑ ÁÙ¿¡ ¾µ ¼öµµ ÀÖ´Ù. ¹®ÀåÀº ¼¼¹ÌÄÝ·ÐÀ¸·Î ±¸ºÐÇÑ´Ù.
(DATA korea1; INPUT tiger1 tiger2; CARDS;)
- ¹®ÀåÀÇ ³¡Àº ¹Ýµå½Ã ¼¼¹ÌÄÝ·Ð(;)À¸·Î
Ç¥½ÃÇÑ´Ù.
- ¶ó. ´Ü¾îÀÇ ±¸ºÐÀº Äĸ¶(,)°¡ ¾Æ´Ï¶ó
ºóÄ(blank)ÀÌ´Ù.
- º¯¼ö´Â ¿µ¹®ÀÚ¿Í ¼ýÀÚ·Î ÇϵÇ,
ù±ÛÀÚ´Â ¿µ¹®ÀÚ·Î Çϸç, ¿©´üÀÚ À̳»·Î ÇÑ´Ù.
- ´ë¹®ÀÚ ¼Ò¹®ÀÚ´Â ±¸ºÐÇÏÁö ¾Ê´Â´Ù.
- ÇϳªÀÇ SAS ÇÁ·Î±×·¥¿¡ ¿©·¯ °³ÀÇ
DATA ½ºÅܰú PROCEDURE ½ºÅÜÀÌ Á¸ÀçÇÒ ¼ö ÀÖ´Ù.
- missing value°¡ Æ÷ÇÔµÈ ÀڷḦ
¿¬»êÇÒ ¶§¿¡´Â ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. (¿¬»êÀÚ·Î °è»êÇÑ °æ¿ì¿¡´Â missing
value°¡ Ãâ·ÂµÇ¸ç, ÇÔ¼ö·Î °è»êÇÑ °æ¿ì¿¡´Â missing value¸¦ Á¦¿ÜÇϰí
°è»êÇÑ °ªÀÌ Ãâ·ÂµÈ´Ù.)
- ÁÖ¼®¹®Àº /*·Î ½ÃÀÛÇÏ¿© */·Î ³¡³´Ù.
(ÁÖ¼®¹®Àº ÇÁ·Î±×·¥ ½ÇÇà°ú ¹«°üÇϳª, ¿¡·¯Å½»ö°ú ½ÇÇà¹üÀ§ Á¶Á¤¿¡
¿ä±äÇÏ°Ô ¾²ÀδÙ.)
- SAS
IML¿¡¼ »ç¿ëÇÏ´Â Çà·ÄÀÇ
Á¤ÀÇ¿Í ¿¬»ê¿¡ °üÇÑ °ÍÀº º°µµÀÇ ³»¿ëÀÌ´Ù. ´Ù¸¸ ¿©±â¿¡ »ç¿ëµÇ´Â
´ëºÎºÐÀÇ ÇÔ¼ö¿Í ¿¬»êÀÚ´Â SAS IML¿¡¼µµ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.

Components
°¡. Ű¿öµå(keywords)
- SAS¿¡¼ Á¤ÀÇÇϰí ÀÖ´Â ¾à¼ÓµÈ
´Ü¾î(reserved words)·Î¼ ÀÓÀÇ·Î ¹Ù²Ù°Å³ª º¯¼öÀ̸§À¸·Î »ç¿ëÇÒ
¼ö ¾ø´Ù.
- DATA, PROC, DO, TO, END, INPUT,
CARDS, REG, ANOVA, RUN µî
³ª. À̸§(names)
- Variable, Dataset, Array, Macro,
Label, Format, LibnameÀÇ À̸§À» ¸»ÇÑ´Ù.
- a¿¡¼ z±îÁöÀÇ ¹®ÀÚ, 0¿¡¼ 9±îÁöÀÇ
¼ýÀÚ, ±×¸®°í _(¾ð´õ½ºÄÚ¾î)¸¦ Á¶ÇÕÇÏ¿©
- 8ÀÚ±îÁö »ç¿ëÇÒ ¼ö ÀÖ´Ù.(´Ü ¼ýÀÚ´Â
ù±ÛÀÚ·Î ¾µ ¼ö ¾ø´Ù.)
- º¯¼öÀ̸§ ¾È¿¡ ºóÄ(blank)ÀÌ ÀÖÀ»
¼ö ¾ø´Ù.
- Ư¼ö¹®ÀÚ(~, !, @, #, $, %, ^,
&, * µî)Àº ¾µ ¼ö ¾ø´Ù.(ÇѱÛÀº ÄÄÇ»ÅÍ¿¡¼ Ư¼ö¹®ÀÚÀÇ Á¶ÇÕÀ̹ǷÎ
º¯¼ö·Î´Â »ç¿ëÇÒ ¼ö ¾øÀ¸¹Ç·Î, º¯¼öÀ̸§Àº ¿µ¹®À¸·Î ÇÏ°í ·¹À̺í(label)À»
½á¼ Çѱ۷Π³ªÅ¸³¾ ¼ö ÀÖ´Ù.)
- ¾ð´õ½ºÄÚ¾î(_)Àº »ç¿ëÇÒ ¼ö ÀÖÀ¸³ª
ÇÏÀÌÇÂ(-)Àº »ç¿ëÇÒ ¼ö ¾ø´Ù.
´Ù. Ư¼ö¹®ÀÚ¿Í ¿¬»êÀÚ
- Ư¼ö¹®ÀÚ: ~, !, @, #, $, %, ^,
&, * ( $´Â ¹®ÀÚº¯¼ö¸¦ ³ªÅ¸³»°í, @¿Í #´Â µ¥ÀÌŸÀԷ¿¡¼ ÀÔ·ÂÆ÷ÀÎÅÍÀÇ
À§Ä¡¸¦ ÁöÁ¤Çϰí, ;´Â ¹®ÀåÀÇ ³¡À» ³ªÅ¸³»°í, *´Â comment¸¦ ³ªÅ¸³»´Â
Ư¼ö¹®ÀÚÀÌ´Ù. &´Â AND¸¦ ³ªÅ¸³»´Â °ü°è¿¬»êÀÚÀ̸ç, ||´Â ¹®ÀÚÀÇ
°áÇÕÀ» ³ªÅ¸³»´Â ¿¬»êÀÚÀÌ´Ù. )
- »ê¼ú¿¬»êÀÚ(»çÄ¢¿¬»ê): +, -, *,
/, **, ^, >< (minimum), <>(maximum), || (concatenation
of string)
- °ü°è¿¬»êÀÚ(Å©´Ù,ÀÛ´Ù,°°´Ù): <
or LT, > or GT, <= or LE, >= GE, = or EQ, ^=
or NE
- ³í¸®¿¬»êÀÚ(and, or): & or
AND, | or OR, ^ or NOT
¶ó. »ó¼ö
- ¼ýÀÚ»ó¼ö: Á¤¼ö, ½Ç¼ö, Áö¼öÇüÀ»
¾µ ¼ö Àִµ¥, 10ÀÇ ¡¾75Á¦°ö±îÁö Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
- 16Áø¼ö¸¦ Ç¥½ÃÇÒ ¶§¿¡´Â ¼ýÀÚ µÚ¿¡
X(16Áø¼öÀÓÀ» ÀǹÌÇÔ)¸¦ ºÙÀδÙ. ex) 0fa3X
- ¹®ÀÚ»ó¼ö: ÃÖ´ë 250ÀÚ(byte)±îÁö
¾µ ¼ö Àִµ¥ ÀοëºÎÈ£·Î ¹¾îÁØ´Ù. ¿¹ÄÁ´ë, '°í´ë ÇàÁ¤Çаú'·Î
Ç¥½ÃÇϰí, Let's´Â 'Let''s' ȤÀº "Let's"·Î Ç¥½ÃÇÑ´Ù.
- ³¯Â¥¿Í ½Ã°£(date, time, datetime
numeric)˼ d1='1JAN1998'D;d2='1JAN98'D; t1='09:25'T; t2='20:55:30'T;
dt='24JAN98:21:00'DT; µîÀ¸·Î Ç¥½ÃÇÑ´Ù.
¸¶. ÇÔ¼ö
- ÀϹݿë¹ý: functionname(argument,
argument¡¦)
- Àμö´Â º¯¼ö, »ó¼ö, Ç¥Çö½Ä, ÇÔ¼ö°¡
µÉ ¼ö ÀÖÀ¸¸ç,
- OF¸¦ »ç¿ëÇÏÁö ¾Ê°í ¿©·¯ °³ÀÇ
Àμö¸¦ ¾µ ¶§¿¡´Â ¹Ýµå½Ã comma·Î ±¸ºÐÇØ¾ß ÇÑ´Ù. ¿¹ÄÁ´ë, MEAN(OF
tiger1-tiger2); MEAN(OF tiger1 tiger2); MEAN(tiger1, tiger2);·Î
¾µ ¼ö Àִµ¥, MEAN(tiger1-tiger2)¿Í MEAN(OF tiger1-tiger2)´Â
´Ù¸£´Ù. ÀüÀÚ´Â tiger1¿¡¼ tiger2°ªÀ» »« °á°ú¸¦ °¡Áö°í ÇÔ¼ö°ªÀ»
³»°í ÈÄÀÚ´Â tiger1°ú tiger2ÀÇ Æò±ÕÀ» °è»êÇÑ´Ù. MEAN(OF tiger1,
tiger2); MEAN(OF tiger1 tiger2); MEAN(tiger1-tiger2);µµ °°Àº
°á°ú¸¦ ³»Áö¸¸ MEAN(tiger1 tiger2);Àº ¿¡·¯¸¦ ³½´Ù.
- Åë°èÇÔ¼ö: CSS(¼öÁ¤µÈ ÀÚ½ÂÇÕ),
CV(º¯µ¿°è¼ö), KURTOSIS, MAX, MIN, MEAN, N, NMISS(missing value¸¦
°¡Áø °üÃøÄ¡ÀÇ ¼ö), RANGE, SKEWNESS, STD, STDERR, SUM, USS(ÀÚ½ÂÇÕ),
VAR µî
- ¿¬»êÇÔ¼ö: ABS, DIM(¹è¿ÀÇ ¿ø¼Ò¼ö),
HBOUND(¹è¿¿ø¼ÒÀÇ »óÇѰª), LBOUND(¹è¿¿ø¼ÒÀÇ ÇÏÇѰª), MAX, MIN,
MOD, SIGN(º¯¼öÀÇ ºÎÈ£ ¶Ç´Â 0), SQRT µî
- ¼öÇÐÇÔ¼ö: DIGAMMA, ERF, ERFC,
EXP, GAMMA, LGAMMA, LOG, LOG2, LOG10, ARCOS, ARSIN, ATAN, COS,
COSH, SIN, SINH, TAN, TANH µî
- Truncation: CEIL(º¯¼öº¸´Ù Å«
¼öÀÌ¸é¼ Á¦ÀÏ ÀÛÀº Á¤¼ö), FLOOR(º¯¼öº¸´Ù ÀûÀº ¼öÀÌ¸é¼ Á¦ÀÏ
Å« Á¤¼ö), INT(Á¤¼öºÎºÐ¸¸ ÃëÇÑ °ª), ROUND, TRUNC(ƯÁ¤ ±æÀ̸¸Å
Á¦°ÅµÈ °ª)
- È®·üºÐÆ÷: POISSON, PROBBETA,
PROBNML, PROBCHI, PROBF, PROBGAM, PROBHYPR, PROBNEGB, PROBNORM,
PROBT µî
- .µ¥ÀÌŸº¯È¯: BYTE(¾Æ½ºÅ° Äڵ带
¹®ÀÚ·Î ¹Ù²Ù±â), LENGTH(º¯¼öÀÇ ±æÀ̸¦ °è»ê), SUBSTR, TRIM, UPCASE(´ë¹®ÀÚ·Î
¹Ù²Ù±â), LEFT, RIGHT, SCAN
¹Ù. ½Ã½ºÅÛ º¯¼ö
- _ALL_ : ÇöÀç dataset¿¡ ÀÖ´Â ¸ðµç
º¯¼ö
- _NULL_ : DATA STEP¿¡¼ datasetÀÛ¾÷À»
¸¶Ä£ µÚ ¸Þ¸ð¸®¿¡¼ Áö¿ì±â À§ÇÔÀÓ.
- _N_ : °üÃøÄ¡ÀÇ ¼ø¼¸¦ ´ã°í ÀÖ´Â
º¯¼ö
- MISSING: missing value. /*IF
age eq MISSING THEN DELETE; */
- _ERROR_: program¿¡¼ data error°¡
¹ß»ýµÇ¾úÀ» ¶§ ƯÁ¤ ¸í·ÉÀ» ¼öÇà½Ã۱â À§ÇÔ. Âü°í·Î STOPÀº Çö
½ºÅÜÀÛ¾÷À» ¸ØÃß°í ´ÙÀ½ ½ºÅÜÀ¸·Î °¡°í, ABORT´Â SAS¹®Àå ¼öÇàÀ»
³¡³»¸ç(¹®¹ý¿¡·¯ °Ë»ç´Â °è¼Ó¼öÇà), ABORT ABEND´Â Áï½Ã SASÀÛ¾÷À»
ÁßÁöÇÑ´Ù.
- _I_ : ¹è¿¿¡¼ À妽ºº¯¼öÀÇ µðÆúÆ®°ªÀ»
¸»ÇÑ´Ù.
- _NUMERIC_: ¸ðµç ¼ýÀÚÇü º¯¼öÀ̸§
- x_NUMERIC_a: INPUT¿¡¼ ³ª¿µÈ
¼ø¼´ë·Î x¿¡¼ a±îÁöÀÇ ¼ýÀÚÇü º¯¼öÀ̸§
- _CHARACTER_: ¸ðµç ¹®ÀÚÇü º¯¼öÀ̸§
- x_CHARACTER_a: INPUT¿¡¼ ³ª¿µÈ
¼ø¼´ë·Î x¿¡¼ a±îÁöÀÇ ¹®ÀÚÇü º¯¼öÀ̸§
- x__a: INPUT¹®¿¡¼ ³ª¿µÈ ¼ø¼´ë·Î
x¿¡¼ a±îÁö
- x_ALL_a:
- _CMD_: ÀνÄÇÒ ¼ö ¾ø´Â À©µµ¿ì¸í·É¾î
Áß ¸¶Áö¸· ¸í·É¾î¸¦ ÀúÇ×Çϰí ÀÖ´Ù.
- _MSG_: À©µµ¿ì¿¡ Ç¥½ÃÇÏ°í ½ÍÀº
¸Þ½ÃÁö¸¦ ÁöÁ¤ÇÑ´Ù.

Expressions
°¡. °³³ä: constant, variable, function,
operator, parentheses µîÀ» »ç¿ëÇÏ¿© ³ªÅ¸³½ ½Ä
³ª. »ê¼ú¿¬»êÀÚ
- ** : ¸è½Â(power)
- * : °öÇϱâ(multiplication)
- + : ´õÇϱâ(addition)
- - : »©±â(subtraction)
- >< : ÃÖ¼ÒÄ¡(minimun) ¡Ø
1 >< 3;Àº 1À» Ãâ·ÂÇÑ´Ù.
- <> : ÃÖ´ëÄ¡(maximum) ¡Ø
1 <> 3;Àº 3À» Ãâ·ÂÇÑ´Ù.
´Ù. °ü°è¿¬»êÀÚ(ÂüÀÏ ¶§ 1, °ÅÁþÀÏ ¶§
0)
- = (EQ) / ¡þ= (NE) : equal to
/ not equal to
- > (GT) / ¡þ > (NG) : greater
than / not greater than
- < (LT) / ¡þ < (NL) : less
than / not less than
- <= (GE) : greater than or
equal to
- >= (LE) : less than or equal
to
- ¡Ø°ü°è¿¬»êÀÇ °á°úÄ¡¸¦ °¡Áö°í
»ê¼ú¿¬»êµµ °¡´ÉÇÏ´Ù.
¶ó. ³í¸®¿¬»êÀÚ : & (AND), | (OR),
¡þ (NOT)
¸¶. ¹®ÀÚ°áÇÕ: ||
- kupa = '°í´ë' || 'ÇàÁ¤Çаú';
¿¡¼ kupa´Â '°í´ëÇàÁ¤Çаú'°¡ µÈ´Ù. ÇÏÁö¸¸ kupa = '°í´ë' + 'ÇàÁ¤Çаú';
¶ó°í Çϸé kupa¿¡´Â missing value(.)°¡ ÀúÀåµÈ´Ù.
¹Ù. ¿¬»êÀÚÀÇ ¿¬»ê¼ø¼
- **, ¡þ, ><, <>
- *, /
- +, -
- ||
- <, <=, =, ¡þ=, >=, >,
¡þ >, ¡þ<
- &(AND)
- |(OR)
- ¡Ø¸ðÈ£ÇÑ °æ¿ì¿¡´Â ¹Ýµå½Ã °ýÈ£¸¦
½á¼ ¿¬»êÇϰíÀÚ ÇÏ´Â ³»¿ëÀ» ºÐ¸íÇÏ°Ô ÇØÁØ´Ù.
»ç. º¯¼ö¸¦ Á¤ÀÇÇÏ´Â ¸î°¡Áö ¿ä·É
- tiger1-tiger7; /* tiger1 tiger2
tiger3 tiger4 tiger5 tiger6 tiger7; */
- (tiger1-tiger3) (3.1); /* tiger1
3.1 tiger2 3.1 tiger3 3.1; */
- (tiger1-tiger8) (3. 4.1 2*3.);
/* tiger1 3. tiger2 4.1 tiger3 3. tiger4 3.¡¦; */
-
¾Æ. ¹è¿(array) : ´Ù¸¥ ÄÄÇ»Å;ð¾î¿Í´Â
´Þ¸® DO¿Í °°Àº ·çÇÁ(loop)¿¡¼ À¯¿ëÇÏ´Ù.
- SASÀÇ ¹è¿Àº º¯¼ö°¡ ¾Æ´Ï¸ç, DATA
STEPÀÌ ³¡³ª¸é ¸Þ¸ð¸®¿¡¼ Áö¿öÁø´Ù.
- ¹è¿Àº À妽ºº¯¼ö¸¦ ÅëÇÏ¿© µÚ¿¡
³ª¿µÈ º¯¼ö¸¦ ÂüÁ¶ÇÏ¿© ÀÛ¾÷À» ¼öÇàÇÑ´Ù.
- À妽ºº¯¼ö¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é
SAS´Â µðÆúÆ®·Î _I_¸¦ ¸¸µé¾î »ç¿ëÇÑ´Ù.
- ARRAY arrayname variable list;
ȤÀº ARRAY arrayname{¹è¿ÀÇ ¼ö} variable list;·Î ¼±¾ðÇϰųª
ARRAY arrayname{index variable} variable list; index variable=initial
value;·Î ¼±¾ðÇÒ ¼ö ÀÖ´Ù.
- ARRAY kucc{5} tiger1-tiger5;¿Í
ARRAY kucc tiger1-tiger5;¿Í ARRAY kucc{i} tiger1-tiger5; i=5;´Â
°°Àº Àǹ̷μ kucc{1}Àº tiger1, kucc{2}Àº tiger2, ¡¦ tiger5¸¦
ÂüÁ¶ÇÏ°Ô µÈ´Ù.
- ¶ÇÇÑ ¹è¿Àº ÂüÁ¶ÇÏ´Â º¯¼ö°¡ °¡Áø
°ªÀ» ½ÇÁ¦·Î º¹»çÇÏ¿© »ç¿ëÇÏ°í ±× °á°ú¸¦ º¯¼ö¿¡ µÇµ¹·ÁÁØ´Ù. c¾ð¾î·Î
Ä¡ÀÚ¸é ÇÔ¼öÀÇ ÀÎÀÚ¿Í °°Àº ±â´ÉÀ» ÇÑ´Ù. DO ¹®Àå ¾È¿¡ kucc = kucc
+ 100;À» Çϸé kucc{1}¿¡ tiger1°ªÀ» º¹»çÇÏ°í ¿©±â¿¡ 100À» ´õÇØ¼
´Ù½Ã tiger1À¸·Î °ªÀ» µÇµ¹·ÁÁØ´Ù. ±× ´ÙÀ½Àº kucc{2}¿¡ tiger2°ªÀÌ
º¹»çµÇ°í¡¦. ÀÌ·¯ÇÑ ÀÛ¾÷Àº °¢ °üÃøÄ¡º°·Î tiger5±îÁö ¹Ýº¹µÈ´Ù.
sum = sum + kucc;¶ó°í Çϸé tiger1ºÎÅÍ tiger5±îÁö¸¦ ´õÇØ¼ sumÀ̶ó´Â
º¯¼ö¸¦ »õ·Î ¸¸µé°í ¿©±â¿¡ ÀúÀåÇ϶ó´Â Àǹ̰¡ µÈ´Ù.

Program
Structures
°¡. DATA step
- ÇѰ³ ¶Ç´Â ±× ÀÌ»óÀÇ datasetÀ»
¸¸µé°í Á¶ÀÛÇϱâ À§ÇØ »ç¿ëÇÑ´Ù.
- ¿À·ù¸¦ Á¡°ËÇÏ¿© Á¤Á¤Çϰí, »õ·Î¿î
º¯¼ö¸¦ ¸¸µé°í, »õ·Î¿î µ¥ÀÌÅͼÂÀ» ¸¸µç´Ù.
- DATA statement·Î ½ÃÀÛ
³ª. PROCEDURE step
- DATA ½ºÅÜ¿¡¼ ¸¸µé¾îÁø datasetÀ»
°¡Áö°í Åë°èºÐ¼®À» ¼öÇàÇÑ´Ù.
- PROC statement·Î ½ÃÀÛ

Data Step
°¡. DATA¹® µÚ¿¡ ³ª¿À´Â dataset À̸§Àº
¸Þ¸ð¸®¿¡¼ ¸¸µé¾îÁö´Â ÀÓ½ÃÆÄÀÏÀÌ´Ù. .º¸Á¶±â¾ïÀåÄ¡(µð½ºÅ©)¿¡ ÀúÀåµÈ
ÆÄÀÏÀÌ ¾Æ´Ï¹Ç·Î ÇÁ·Î±×·¥¼öÇàÈÄ Áö¿öÁø´Ù.
- ¿¹ÄÁ´ë, DATA korea;¶ó°í Çϸé
SAS´Â ÇÁ·Î±×·¥ ½ÇÇà Áß¿¡ work.korea¶ó´Â ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ÇÒ´çÇÏ¿©
ÀÛ¾÷À» ÇÏ°Ô µÇ°í, SAS Program ¼öÇàÀÌ ³¡³ª¸é ¸Þ¸ð¸®¿¡¼ Áö¿î´Ù.
- .SET dataset name(s); /*±âÁ¸ÀÇ
dataset¿¡¼ »õ·Î¿î datasetÀ¸·Î ÀڷḦ º¸³½´Ù. */
- SAS´Â ÇϳªÀÇ DATA STEP¿¡¼ ÃÖ´ë
50°³ÀÇ datasetÀ» ÀÐÀ» ¼ö ÀÖ´Ù. datasetÀÌ ¿©·¯°³°¡ ³ª¿µÇ¾î ÀÖÀ¸¸é
SAS´Â ³ª¿¼ø¼´ë·Î datasetÀ» ºÙ¿© °üÃøÄ¡¸¦ ´Ã·ÁÁØ´Ù.(concatenating).
datasetÀ» Á¤·Ä½ÃŲ µÚ BY¹®À» »ç¿ëÇÏ¿© datasetÀ» ºÙÀÏ °æ¿ì¿¡´Â
interleavingÀ̶ó°í ÇÑ´Ù.
³ª. °üÃøÄ¡(observation)¸¦ »èÁ¦Çϰųª
¼±ÅÃÇÏ´Â °æ¿ì
- IF condition; /* Á¶°Ç¿¡ ¸Â´Â
°üÃøÄ¡¸¸ ¼±ÅÃÇÏ°í ³ª¸ÓÁö´Â Áö¿î´Ù. */ ¿¹ÄÁ´ë IF sex = 'F';´Â
¼ºÀÌ ¿©ÀÚÀÎ °üÃøÄ¡¸¸ »Ì¾Æ³½´Ù.
- IF condition THEN DELETE; /*
Á¶°Ç¿¡ ¸Â´Â °üÃøÄ¡¸¸ Áö¿î´Ù. */ ¿¹ÄÁ´ë IF sex = 'F' THEN
DELETE;´Â ¼ºÀÌ ¿©ÀÚÀÎ °üÃøÄ¡¸¸ »èÁ¦ÇÑ´Ù.
- DATA korea; SET tiger1; IF _N_
<100; /* _N_¿¡´Â °üÃøÄ¡ÀÇ ¼ø¼°¡ ÀúÀåµÊ */ ÀÌ ¹®ÀåÀº 1¹øºÎÅÍ
100¹ø±îÁöÀÇ °üÃøÄ¡¸¸ Á¦¿ÜÇÏ°í ³ª¸ÓÁö °üÃøÄ¡¸¦ dataset¿¡¼ Áö¿î´Ù.
´Ù. º¯¼ö¸¦ ¾ø¾Ö´Â °æ¿ì
- .DROP sex total; /* ±âÁ¸ÀÇ dataset¿¡¼
sex¿Í totalÀ̶ó´Â º¯¼ö¸¦ ¾ø¾Ø´Ù. */
- .KEEP name mean grade; /* º¯¼ö
name mean grade¸¸ »©°í ´Ù ¾ø¾Ø´Ù. */
- .ÇÑ DATA step¿¡¼ KEEP°ú DROPÀ»
µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö ¾ø´Ù. DROPÀ̳ª KEEPÀ¸·Î dataset¿¡¼ ºüÁø º¯¼ö¸¦
»ç¿ëÇÒ ¼ö ¾ø´Ù.(error¹ß»ý)
- Âü°í: ÀÚ½ÅÀÌ ±Ã±ØÀûÀ¸·Î ¾ò°í
½ÍÀº º¯¼ö°ªÀ» °è»êÇϱâ À§ÇÏ¿© ¸¹Àº Áß°£°ªÀÌ ÇÊ¿äÇÒ ¶§, ÈçÈ÷
Áß°£°ªÀ» »õ·Î¿î º¯¼ö·Î ¸¸µé¾î »ç¿ëÇϰí ÃÖÁ¾°ªÀÌ ¸¸µé¾îÁö¸é Áß°£°ªÀ»
ÀúÀåÇϰí ÀÖ´Â º¯¼ö¸¦ Áö¿î´Ù. datasetÀº ¸Þ¸ð¸®¿¡ ÀúÀåµÈ ÀÓ½ÃÆÄÀÏÀ̱â
¶§¹®¿¡ ³Ê¹« Ä¿Á® »ç¿ë°¡´ÉÇÑ ¸Þ¸ð¸®ÀÚ¿øÀÌ Àû¾îÁö¸é ÇÁ·Î±×·¥ ¼öÇà¿¡
ÁöÀåÀ» ÁÙ ¼ö ÀÖ´Ù. µû¶ó¼ ºÐ¼®¿¡ ºÒÇÊ¿äÇÑ º¯¼ö´Â Áß°£°ªÀ» ÀúÀåÇÑ
º¯¼ö°¡ ¾Æ´Ï¶óµµ Áö¿öÁÖ´Â °ÍÀÌ ÁÁ´Ù.(datasetÀÌ ºÐ¼®¿¡ »ç¿ëÇÏ´Â
ÄÄÇ»ÅÍÀÚ¿ø¿¡ ºñÇÏ¿© Å©Áö ¾Ê´Ù¸é º° °ü°è´Â ¾øÀ» °ÍÀÌ´Ù.) À§¿¡
³ª¿Â DATA _NULL_;µµ ÃÖÁ¾ datasetÀ» ¸¸µé±â À§ÇÑ Áß°£ datasetÀÏ
°æ¿ì¿¡ ¸Þ¸ð¸®¸¦ ³¶ºñÇÏÁö ¾Ê´Â ÁÁÀº ¹æ¹ýÀÌ µÈ´Ù.
¶ó. µ¥ÀÌÅͼÂÀÇ °üÃøÄ¡¸¦ ´Ù¸¥ µ¥ÀÌÅͼ¿¡
Ãß°¡ÇÏ´Â °æ¿ì(µÚ¿¡ ºÙ¿©)
- .DATA korea; SET tiger1 tiger2;
RUN; /* tiger1 µÚ¿¡ tiger2¸¦ ºÙ¿© korea¶ó´Â »õ·Î¿î datasetÀ»
¸¸µç´Ù.*/
- ÇüÅÂ(º¯¼ö, °üÃøÄ¡)°¡ ´Ù¸£¸é º¯¼ö³ª
°üÃøÄ¡°¡ ´Ã¾î³ª°í missing value·Î ä¿öÁø´Ù.
¸¶. µ¥ÀÌÅͼÂÀÇ º¯¼ö¸¦ ´Ù¸¥ µ¥ÀÌÅͼ¿¡
Ãß°¡ÇÏ´Â °æ¿ì(¿·¿¡ ºÙ¿©)
- DATA korea; MERGE tiger1 tiger2;
RUN; /* tiger1¿À¸¥ÂÊ¿¡ tiger2¸¦ ºÙ¿© korea¶ó´Â »õ·Î¿î datasetÀ»
¸¸µç´Ù.*/
- SAS¿¡¼ MERGE´Â ÇϳªÀÇ DATA STEP¿¡¼
50°³ÀÇ datasetÀ» ºÙ¿© º¯¼ö¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. Á¤·ÄÀ» ÇÑ µÚ BY¹®À»
»ç¿ëÇÏ¿© º¯¼ö¸¦ ºÙÀÏ °æ¿ì¿¡´Â match mergingÀ̶ó°í Çϸç, ±×·¸Áö
¾ÊÀ» °æ¿ì´Â one-to-one mergingÀ̶ó°í ÇÑ´Ù.
- ÇüÅÂ(º¯¼ö, °üÃøÄ¡)°¡ ´Ù¸£¸é º¯¼ö³ª
°üÃøÄ¡°¡ ´Ã¾î³ª°í missing value·Î ä¿öÁø´Ù.
- °°Àº º¯¼öÀ̸§ÀÌ ÀÖÀ¸¸é ±âÁ¸ÀÇ
datasetÀÇ µ¥ÀÌÅ͸¦ µ¤¾î¾´´Ù.(À§ÀÇ ¿¹¿¡¼ tiger2µ¥ÀÌŸ°¡ ³²´Â´Ù)
¹Ù. º¯¼öÀÇ ¸®ÄÚµù
- ¹è¿À» ÀÌ¿ëÇÑ ¿ª»ê: DO OVER tiger;
tiger=6-tiger; END;
- º¯¼ö°ªÀÇ Á¾·ù¸¦ ÁÙÀ̱â
- IF korea IN (1, 3) THEN korea=1;
ELSE IF korea y > 3 THEN korea=2 ;´Â korea¶ó´Â º¯¼ö°ªÀÌ 1À̳ª
3À̸é 1·Î ÀúÀåÇϰí 3º¸´Ù Å©¸é 2·Î ¸®ÄÚµùÇÑ´Ù.
»ç. º¯¼öÀÇ À̸§À» ¹Ù²Ù±â
- RENAME korea=tiger; korea¶ó´Â
º¯¼öÀ̸§À» tiger¶ó´Â º¯¼öÀ̸§À¸·Î ¹Ù²Û´Ù.
¾Æ. Ưº°ÇÑ DATA¹®Àå
- DATA; /* omitted SAS dataset
nameÀε¥ ÀÚµ¿À¸·Î data1, data2 µîÀ¸·Î ¼³Á¤ */
- DATA _NULL_; /* DATA step¸¸ ½ÇÇàÇϰí
datasetÀ» ¸¸µéÁö ¾Ê´Â´Ù. */
- DATA korea1(KEEP=depart faculty)
korea2(DROP=cutline class); SET tiger; ÀÌ ¹®ÀåÀº tiger¶ó´Â ±âÁ¸ÀÇ
datasetÀ» ºÒ·¯¿Í¼ depart¿Í faculty¶ó´Â º¯¼ö¸¸ »©³»¾î korea1À̶ó´Â
datasetÀ» ¸¸µé°í, tiger¿¡¼ score¿Í class¸¦ »« ³ª¸ÓÁö º¯¼ö¸¦
°¡Áö°í korea2¶ó´Â datasetÀ» ¸¸µé¶ó´Â ¶æÀÌ´Ù. DATA korea1(KEEP=depart
faculty); SET tiger; DATA korea2(DROP=score class); SET tiger;À¸·Î
³ª´©¾î ¾µ ¼öµµ ÀÖ´Ù.
- DATA korea1 korea2; SET tiger;
IF department='PA' THEN OUTPUT korea1; ELSE OUTPUT korea2; ÀÌ
¹®ÀåÀº tiger¶ó´Â datasetÀ» ÀÐ¾î¼ º¯¼ö dapartment°¡ 'PA'ÀÎ °üÃøÄ¡¸¦
»Ì¾Æ korea1À̶ó´Â datasetÀ» ¸¸µé°í, ³ª¸ÓÁö °üÃøÄ¡µéÀº ¸ðµÎ korea2¶ó´Â
dataset¿¡ ³Ö´Â´Ù. ȤÀº ´ÙÀ½ ¹®ÀåÀ¸·Î ³ª´©¾î ¾µ ¼ö ÀÖ´Ù. DATA
korea1; SET tiger; IF depart = 'PA'; DATA korea2; SET tiger;
IF depart ^= 'PA';

Input Statement
ÀÌ ¹®ÀåÀº °üÃøÄ¡¸¦ ÀоîµéÀÌ´Â º¯¼öÀÇ
Çü½ÄÀ» Á¤ÀÇÇÑ´Ù.
- Âü°í: µ¥ÀÌÅ͸¦ ¾î¶² ¹æ½ÄÀ¸·Î
ÄÚµùÇϴ°¡´Â ¼³¹®¾ç½Ä, ¼ýÀÚ³Ä ¹®ÀÚ³Ä, µ¥ÀÌÅÍÀÇ ±æÀÌ, µ¥ÀÌÅÍÀÇ
¹Ýº¹¼º, µ¥ÀÌÅÍÀÇ Á¶ÀÛÇʿ伺, º¯¼öÀÇ ¼ö, °üÃøÄ¡ÀÇ ¼ö µî¿¡ µû¶ó
°áÁ¤ÇØ¾ß Çϸç, À̶§ SAS¿¡¼ ¾î¶² Çü½ÄÀ¸·Î ÀÔ·ÂÇϴ°¡±îÁö °í·ÁÇÏ´Â
°ÍÀÌ ÁÁ´Ù. ÇÏÁö¸¸ ÀÌ¹Ì ÄÚµùµÈ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÒ ¶§¿¡´Â ÀԷ»óÅ¿¡
µû¶ó ÀûÀýÇÑ ÀԷ¹æ¹ýÀ» ¼±ÅÃÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ´Ü¼øÇÏ°í ¾çÀÌ
ÀûÀº µ¥ÀÌÅÍ´Â named input°ú list inputÀÌ ÀûÀýÇϸç, º¹ÀâÇϰųª
¾çÀÌ ¸¹Àº °æ¿ì¿¡´Â formatted inputÀ̳ª column inputÀÌ ÀûÀýÇÏ´Ù°í
º¼ ¼ö ÀÖ´Ù.
°¡. column input (fixed format)
- º¯¼öÀ̸§°ú µ¥ÀÌŸ°ªÀÌ Â÷ÁöÇÏ´Â
columnÀÇ ½ÃÀÛ°ú ³¡À» Àû¾î¾ß ÇÑ´Ù. À̶§ µ¥ÀÌŸÆÄÀÏ(ȤÀº SAS ÇÁ·Î±×·¥¿¡
ÀÔ·ÂÇÏ´Â µ¥ÀÌŸ)ÀÇ µ¥ÀÌÅÍ´Â ºóÄÀÌ ¾øÀÌ ¸ðµÎ ºÙ¾î À־ µÈ´Ù.
- INPUT name $ 1-8 id 9-15 score
16-20; CARDS;¹ÚÇå¸í 8740031087.4;
- ´Þ·¯($)´Â ¾Õ¿¡ ÀÖ´Â º¯¼ö°¡ ¹®ÀÚº¯¼öÀÓÀ»
Ç¥½ÃÇÑ´Ù.
³ª. list input (free format)
- º¯¼öÀ̸§¸¸ ³ª¿ÇÏ¸é µÇ´Âµ¥, µ¥ÀÌŸÆÄÀÏÀÇ
µ¥ÀÌŸ´Â ÇÑ °³ ÀÌ»óÀÇ ºóÄ(blank)À» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. º¯¼ö°ªÀ»
ÃÖ´ë 8ÀÚ±îÁö ¾µ ¼ö Àִµ¥ ¹®ÀÚÀÇ °æ¿ì ºó°£À» µÑ ¼ö ¾ø´Ù.
- list input¿¡¼´Â º¯¼ö¿¡ ÇÒ´çÇÏ´Â
¸Þ¸ð¸®(data vector)ÀÇ Å©±â°¡ ÀϰýÀûÀ¸·Î 8¹ÙÀÌÆ®À̸ç, º¯¼ö°ª
»çÀÌÀÇ ºó°£À¸·Î º¯¼ö°ªÀ» ±¸ºÐÇϱ⠶§¹®ÀÌ´Ù. µû¶ó¼ 8byteº¸´Ù
±æ¸é µÚ°¡ ©¸®¸ç, Ưº°ÇÑ Ç¥½Ã ¾øÀÌ º¯¼ö°ªÀ» ¾²Áö ¾ÊÀ¸¸é missing
value·Î ÀúÀåµÇÁö ¾Ê°í º¯¼ö°ªÀÌ ´ç°ÜÁ® ÀúÀåµÈ´Ù. ±×·¯¹Ç·Î 8¹ÙÀÌÆ®º¸´Ù
±ä º¯¼ö°ªÀ» ó¸®Çϱâ À§Çؼ´Â column inputÀ» »ç¿ëÇϰųª formatted
input¿¡¼ $w ȤÀº $CHARw¸¦ ½á¾ß ÇÑ´Ù. column/formatted input¿¡¼´Â
¸í½ÃµÈ ±æÀ̸¸ÅÀÇ ¸Þ¸ð¸®¸¦ °¢ º¯¼ö¿¡ ÇÒ´çÇÑ´Ù.
- missing value´Â µðÆúÆ®·Î Á¡(.)À¸·Î
ÀÔ·ÂÇϴµ¥, ¿É¼Ç¹®ÀåÀ¸·Î ¹Ù²Ü ¼ö ÀÖ´Ù. º¯¼ö±æÀ̰¡ µÎ Ä®·³ ÀÌ»ó
µÇ´õ¶óµµ missing value´Â ÇÑ º¯¼ö¿¡ 1°³¸¸ ½á¾ß ÇÑ´Ù.
- .INPUT name $ id grade; CARDS;¹ÚÇå¸í
8740031 87.4;
´Ù. formatted input
- º¯¼öÀ̸§°ú º¯¼öÀÇ ÀԷ¼½Ä(informats)À»
ÁöÁ¤ÇÑ´Ù. ÀԷ¼½ÄÀÇ ±âº»°³³äÀº FORTRAN°ú °°Àº ÄÄÇ»Å;ð¾îÀÇ
¼½Ä°ú ºñ½ÁÇÏ´Ù.
- w.´Â ¼ýÀÚº¯¼öÀÇ ÃѱæÀ̰¡ wÀ̰í
¼Ò¼öÁ¡ ÀÌÇϰ¡ ¾ø´Â °æ¿ìÀε¥, Á¡(.)Àº Àüü º¯¼öÀÇ ±æÀÌ¿Í ¼Ò¼öÁ¡
ÀÌÇÏ ÀÚ¸®¼ö¸¦ ±¸ºÐÇØ ÁÖ´Â °ÍÀ¸·Î, ¼Ò¼öÁ¡ÀÌÇÏ ÀÚ¸®¼ö°¡ ¾ø´õ¶óµµ
¹Ýµå½Ã ½áÁà¾ß ÇÑ´Ù.
- w.d´Â ¼ýÀÚº¯¼öÀÇ ÃѱæÀ̰¡ wÀ̰í
¼Ò¼öÁ¡ ÀÌÇϰ¡ d¸¸ÅÀÌ ÀÖ´Â °æ¿ìÀÌ´Ù.
- ¹®ÀÚº¯¼öÀÇ °æ¿ì¿¡´Â $CHARw.·Î
Çϰųª ±×³É $w.·Î ÇÏ¸é µÈ´Ù.
- ³¯Â¥º¯¼öÀÎ °æ¿ì¿¡´Â DATEw.³ª
DDMMYYw.·Î ÇÏ¸é µÈ´Ù.
- ´ÙÀ½°ú °°Àº Ư¼ö¹®ÀÚµéÀº µ¥ÀÌŸ
Ä«µå³ª µ¥ÀÌÅÍ ÆÄÀÏ¿¡¼ 1ÁÙ¿¡ °üÃøÄ¡°¡ 1°³ ÀÌ»óÀ̰ųª 1°³ °üÃøÄ¡°¡
2°³ ÀÌ»óÀÇ ÁÙ¿¡ Ç¥ÇöµÉ ¶§ ÀÓÀÇ·Î ÀÔ·ÂÆ÷ÀÎÅÍ(input pointer)¸¦
Á¶Á¤ÇÔÀ¸·Î½á È¿¿ë¼ºÀ» ¹ßÈÖÇÑ´Ù.
- @nÀº ÀÔ·ÂÆ÷ÀÎÅ͸¦ n¹øÂ° Ä÷³À¸·Î
¿Å±â¸ç, (column control)
- @@´Â ÇØ´ç µ¥ÀÌÅ͸¦ ÀÐÀº ÈÄ¿¡µµ
Æ÷ÀÎÅ͸¦ ±× ¶óÀο¡ ¸Ó¹°°Ô Çϸç, (line holder)
- +nÀº ÇöÀç À§Ä¡¿¡¼ nÄ®·³¸¸Å
ÀÔ·ÂÆ÷ÀÎÅ͸¦ ¿Å±â¸ç, (column control)
- #nÀº n¹øÂ° ¶óÀÎ, /´Â ´ÙÀ½
¶óÀÎÀÇ Ã¹Ä÷³À¸·Î ÀÔ·ÂÆ÷ÀÎÅ͸¦ ¿Å±ä´Ù.(row control)
- À̸¦ ÀÀ¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀԷ¼½ÄÀ»
»ç¿ëÇÒ ¼ö ÀÖ´Ù.
- INPUT name $8. id 7. grade 4.1;
CARDS;¹ÚÇå¸í 87400310874; ¿©±â¼ grade´Â 87.4°¡ µÈ´Ù.
- INPUT name $ (grade1-grade2)
(3.) activity 4.1 ;CARDS;¹ÚÇå¸í 0870400978; ¿©±â¼ grade1=87.,
grade2=40., activity=97.8ÀÌ µÈ´Ù.
- INPUT (tiger1-tiger4) ($CHAR8.
+1 2*4.1 3.); CARDS; À̰ÍÀº INPUT tiger1 $CRAR8. tiger2 4.1
tiger3 4.1 tiger4 3.;¿Í °°´Ù.
- INPUT name $8. (tiger1-tiger4)
(3.1*2 4.*2) @@; /* ´ÙÀ½ÁÙ·Î °¡Áö¸»°í Àбâ */
- INPUT @7 (tiger1-tiger2) ($CHAR8.
+1 3.1) #2 (tiger3-tiger4) (+3 $7 +1 2.); À̹®ÀåÀº 7Ä®·³ºÎÅÍ
tiger1À» ¹®ÀÚ·Î 8ÀÚ¸¦ Àаí, ´Ù½Ã 1Ä®·³À» ¶ç°í tiger2¿¡ 3ÀÚ¸®
¼ýÀÚ¸¦ ¼Ò¼öÁ¡ ¾Æ·¡ ÀÚ¸®¼ö°¡ 1°³°¡ µÇ°Ô Àаí, ´ÙÀ½ ÁÙ·Î °¡¼(#2´ë½Å¿¡
/·Î ´ë½ÅÇÒ ¼ö ÀÖ´Ù.) 3¹øÂ° Ä®·³ºÎÅÍ 7°³ ¹®ÀÚ¸¦ Àоî tiger3¿¡
ÀúÀåÇϰí, ´Ù½Ã 1Ä®·³À» ¶ç°í ³ª¼ tiger4¿¡ ¼Ò¼öÁ¡ ¾Æ·¡ÀÚ¸®¼ö°¡
¾ø´Â 2ÀÚ¸® ¼ýÀÚ¸¦ ÀÔ·ÂÇÑ´Ù.
¶ó. named input
- µ¥ÀÌŸÆÄÀÏ¿¡ º¯¼öÀ̸§°ú º¯¼ö°ªÀ»
¸ðµÎ Àû¾î¼ ÀúÀåÇØ µÎ¾î¾ß ÇÑ´Ù.
- INPUT name=$ id= grade=; CARDS;name=¹ÚÇå¸í
id=8740031 grade=87.4;
¸¶. mixing input
- ÇÑ INPUT¹®¿¡ À§ÀÇ ¾ç½ÄÀ» ¼¯¾î
¾µ ¼ö ÀÖ´Ù. ÀÌ´Â ÇØ´ç º¯¼öÀÇ µ¥ÀÌÅͰ¡ °¡Áø Ư¼º¿¡ ¸Â°Ô ÀԷ¾ç½ÄÀ»
ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î ¸Å¿ì ¹Ù¶÷Á÷ÇÏ´Ù°í º¼ ¼ö ÀÖ´Ù.
- INPUT name $ 1-18 @21 sex $.
age 25-26 +4 height weight 5.1; CARDS;
- /*--+----1----+----2----+----3----+----4----+----5----+----6;
*/
- Park, Hun-myoung M 31 168.5 056.1
- INPUT name $ 1-20 sex $ age 3;
INPUT height 4.1 +6 weight 5.1; CARDS;
- /*--+----1----+----2----+----3----+----4----+----5----+----6;
*/
- Park, Hun-myoung M 31
1685 056.1

Control
Statements
°¡. IF¹®
- 1) IF condition ELSE/THEN a statement;
/*Á¶°ÇÀÌ ÂüÀÌ¸é ¸í·É ¼öÇà*/ ¿¹ÄÁ´ë, IF age > 29 AND
sex = 'F' AND marital='M' THEN status = '¹Ì½ÃÁ·'; ȤÀº IF age
> 29 THEN DO; age='³ë¶¥'; status='Æ÷±âÇØ'; END; ELSE age="½Å¼¼´ë";
- 2) IF¹®¿¡ ¿©·¯°³¸¦ ¸í·ÉÀ» ¼öÇà½ÃŰ·Á¸é
DO¹®ÀåÀ» Æ÷ÇÔ½ÃÄÑ¾ß ÇÑ´Ù. ¿¹ÄÁ´ë, IF age > 29 AND sex = 'F'
AND marital='S' THEN status = '³ëó³à'; ELSE status = '´ÙÇàÀÌ´Ù';
- 3) IF condition THEN a statement;
ELSE IF condition THEN a statement; ¿¹ÄÁ´ë, IF age < 25 THEN
status = '½Å¼¼´ë'; ELSE IF age < 29 AND sex = 'M' THEN status
= '½®¼¼´ë'; ELSE IF age < 29 AND sex = 'F' THEN status =
'°ÆÁ¤µÈ´Ù'; ELSE status = 'Æ÷±âÇØ';
- Âü°í: DATA¹®¿¡¼ IF condition
(THEN DELETE);Àº Á¶°Ç¿¡ ¸Â´Â °üÃøÄ¡¸¦ »èÁ¦Çϰųª ¼±ÅÃÇÏ¿© »õ·Î¿î
datasetÀ» ¸¸µç´Ù.
³ª. DO¹®
- 1) DO; sas statements; END; /*
DO¿Í END»çÀÌÀÇ ¹®ÀåÀ» ¼öÇàÇÑ´Ù. */
- 2) DO n = 1 TO 10 BY 2; sas statements;
END; /* ¹Ýº¹¼öÇàÇÑ´Ù. */
- 3) DO WHILE condition; sas statements;
END; conditionÀÌ ÂüÀ̸é DO WHILE°ú END»çÀÌÀÇ ¹®ÀåÀ» °è¼Ó ¼öÇàÇÑ´Ù.
- 4) DO UNTIL (condition); sas
statements; END; conditionÀÌ ÂüÀÏ ¶§±îÁö DO UNTIL°ú END»çÀÌÀÇ
¹®ÀåÀ» °è¼Ó ¼öÇàÇÑ´Ù.
- 5) DO OVER arrayneme; sas statements;
END; /* ¹è¿ÀÇ ¸ðµç ¿ä¼Ò¸¦ ¹Ýº¹¼öÇà */ DATA korea1; INPUT tiger1-tiger3;
ARRAY k tiger1-tiger3; DO OVER k; k = k * 100; END; /* °¢°¢ÀÇ
º¯¼ö¿¡ 100À» °öÇÑ´Ù. */
- 6) ¿ª»ê: DATA korea2; INPUT tiger4-tiger7;
ARRAY t tiger4-tiger7; DO OVER t; t = 6 - t; END; /* 5Á¡ ¼¿Ã´µµ¸¦
°®´Â º¯¼ö¸¦ ¿ª»êÇÑ´Ù. */ ¿¬±¸¼³°è°úÁ¤¿¡¼ ÀÀ´äÀÚÀÇ ¼º½Çµµ³ª
Àϰü¼ºÀ» °ËÁõÇϱâ À§ÇÏ¿© »ðÀÔµÈ ¼³¹®¹®Ç×Àº ºÐ¼®Çϱâ Àü¿¡ ¿ª»êÇØÁà¾ß
ÇÑ´Ù. Áï, 5Á¡ ¼¿Ã´µµ·Î ¹°¾îº» ¹®Ç×ÀÌ ÀÖ´Ù¸é, 1·Î ´äÇÑ °ÍÀº
5·Î, 2·Î ´äÇÑ °ÍÀº 4, ¡¦ 5·Î ´äÇÑ °ÍÀº 1·Î ¹Ù²Ù¾îÁÖ¾î¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ ¿ª»ê°úÁ¤À» ÇÁ·Î±×·¡¹ÖÇÑ °ÍÀÌ ¹Ù·Î ÀÌ ¹®ÀåÀε¥, ÀÌ·¯ÇÑ
¿µ¿ª¿¡¼ ¹è¿(array)°ú DO OVER¹®ÀåÀÇ È¯»óÀûÀÎ Á¶È°¡ ºûÀ» ¹ßÇÑ´Ù.
¹è¿°ú DO¹®ÀåÀ» ¾²´Â ÁöÀûÀÎ ³ë·ÂÀ» ÇÏÁö ¾Ê´Â´Ù¸é, Á˾ø´Â ¸Ó¸®³ª
±ÜÀûÀ̸ç IF¹®ÀåÀ» ´öÁö´öÁö ¹ß¶ó¾ß Çϱ⠶§¹®ÀÌ´Ù.
- 7) DATA korea3; INPUT tiger1-tiger7;
ARRAY p tiger1-tiger7; DO OVER p; IF p > 5 OR p='' THEN p='.';
END; RUN; µ¥ÀÌÅ͸¦ °Ë»öÇÏ¿© ¹üÀ§°¡ ³Ñ°Å³ª ºóÄÀÎ °æ¿ì missing
value·Î ó¸®ÇÑ´Ù.
- 8) ±âŸ: DO I=1, 3, 6, 9; DO
month='JAN', 'FEB', 'JUL', 'SEP';
´Ù. GO TO label;
- 1) ÁöÁ¤µÈ labelÀÌ ÀÖ´Â ¹®ÀåÀ¸·Î
°¡¼ ¸í·ÉÀ» ¼öÇàÇϵµ·Ï ÇÑ´Ù.
- 2) IF sex='F' THEN GO TO ok;¡¦;
ok: admission='P';

¿ÜºÎµ¥ÀÌŸÆÄÀÏ
»ç¿ë (Include)
µ¥ÀÌŸ´Â SAS ÇÁ·Î±×·¥¿¡¼ Á÷Á¢ ÀÔ·ÂÇÒ
¼ö ÀÖÀ¸³ª, µ¥ÀÌŸÀÇ ±Ô¸ð°¡ Å©°Ô µÇ¸é, º°µµ·Î µ¥ÀÌŸÆÄÀÏÀ» ¸¸µé°í
SAS ÇÁ·Î±×·¥¿¡¼ ºÒ·¯¿Í¼ »ç¿ëÇÏ´Â °ÍÀÌ À¯¸®ÇÏ´Ù. À̶§ µ¥ÀÌŸÆÄÀÏÀº
ASCII TEXTÀÇ µ¥ÀÌŸ±¸Á¶·Î ÀúÀåµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ¶ÇÇÑ ½ºÇÁ·¹µå½¬Æ®³ª
µ¥ÀÌŸº£À̽º µ¥ÀÌŸ¸¦ Á÷Á¢ ºÒ·¯¿Í¼ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ´Ü ¹öÀü¿¡
µû¶ó¼ ÀÐÁö ¸øÇÏ´Â °æ¿ì°¡ ÀÖÀ» ¼ö ÀÖ´Ù.(dBASE III Plus, MS Excel
4.0 ÀÌÇÏ, Quattro 3.0, Lotus 1-2-3 Á¤µµ´Â ÀÐÀ» ¼ö ÀÖ´Ù.)
°¡. ASCII TEXTÆÄÀÏ ºÒ·¯¿À±â
- DATA korea;
- INFILE 'f:\sas\data\tiger.dat'
LRECL=250 FIRSTOBS=7 OBS=700;
- INPUT ¡¦¡¦;
- À§ ¹®ÀåÀº fµå¶óÀ̺êÀÇ SAS\DATA
µð·ºÅ丮ÀÇ tiger.dat¶ó´Â ÆÄÀÏÀ» ÀÐ¾î¼ korea¶ó´Â µ¥ÀÌŸ¼ÂÀ»
¸¸µé¶ó´Â ¶æÀÌ´Ù. ´Ù¸¸, µ¥ÀÌŸÆÄÀÏ¿¡¼ µ¥ÀÌŸ´Â 250Ä®·³±îÁö ÀеÇ,
7¹øÂ° ¶óÀκÎÅÍ 700°³ÀÇ °üÃøÄ¡¸¸ Àоî¾ß ÇÑ´Ù.
- LRECLÀº logical record length·Î¼
µ¥ÀÌÅÍÆÄÀÏÀÇ ·¹ÄÚµå(ȤÀº observation) ³Êºñ°¡ µðÆúµåÀÎ 80º¸´Ù
³Ê¸¥ °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. FIRSTOBS´Â first observations·Î¼
µ¥ÀÌŸ¸¦ ¸î° ÁÙºÎÅÍ Àоî¾ß Çϴ°¡¸¦ Á¤ÇÏ´Â ¿É¼ÇÀε¥, À̰ÍÀ»
ÀÌ¿ëÇÏ¸é µ¥ÀÌÅÍÆÄÀÏ ¸Ó¸´ºÎºÐ¿¡´Ù ¼³¸íÀ» Àû¾î³õÀ» ¼ö ÀÖ´Ù. Áï,
µ¥ÀÌŸ ÆÄÀÏÀº ¹Ýµå½Ã ù ¶óÀκÎÅÍ µ¥ÀÌÅ͸¦ ¾²Áö ¾Ê¾Æµµ µÈ´Ù.
OBS´Â Àüü µ¥ÀÌÅÍÆÄÀÏ¿¡¼ Àоî¾ß ÇÏ´Â °üÃøÄ¡ÀÇ ¼ö¸¦ SAS¿¡°Ô
¾Ë·ÁÁØ´Ù.
³ª. ´Ù¸¥ µ¥ÀÌŸÇü½ÄÀ» ºÒ·¯¿À±â
- dBASE III PLUS µ¥ÀÌŸÆÄÀÏÀÎ tiger1.dbf·ÎºÎÅÍ
µ¥ÀÌŸ¼Â ¸¸µé±â
- FILENAME korea 'f:\sample\tiger1.dbf';
PROC DBF DB3=tiger1 OUT=korea; RUN;
- ·ÎÅͽº 1-2-3 µ¥ÀÌŸÆÄÀÏÀÎ tiger2.dif·ÎºÎÅÍ
µ¥ÀÌŸ¼Â ¸¸µé±â
- PROC DIF DIF=tiger2.dif; RUN;
ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº FILENAMEÀ¸·Î ÆÄÀÏÀ̸§À» Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é È®ÀåÀÚ¸¦(DBF,
DIF) ¸í½ÃÇØ¾ß ÇÑ´Ù.

File Output
°¡. µ¥ÀÌŸ¼ÂÀ» ¾Æ½ºÅ° ÅØ½ºÆ® ÆÄÀÏ·Î
Ãâ·Â(FILE/PUT)
- datasetÀ» µ¥ÀÌÅÍÆÄÀÏ·Î Ãâ·ÂÇÏ´Â
°ÍÀ¸·Î INFILE°ú INPUTÀÇ ¹Ý´ë¶ó°í ÇÒ ¼ö ÀÖ´Ù.
- DATA _NULL_; SET korea;
- FILE 'f:\sas\data\korea.out';
- FILE 'LOG'´Â PUTÀ¸·Î ¸¸µé¾îÁø
°á°ú¸¦ LOGÀ©µµ¿ìÁî·Î Ãâ·ÂÇÒ °ÍÀ» ÁöÁ¤ÇÏ´Â °ÍÀ̸ç, FILE 'PRINT'´Â
ÇÁ¸°ÅÍ·Î Ãâ·ÂÇ϶ó´Â °ÍÀÌ´Ù. PUT¹® ¾Õ¿¡ FILE¹®ÀÌ ¾øÀ¸¸é SAS LOG¿¡
±â·ÏµÈ´Ù.
- PUT (depart faculty cutline)
($10. 3. 5.1); /* _ALL_Àº ¸ðµç º¯¼ö¸¦ ÀǹÌÇÔ */
³ª. À©µµ¿ì(¿¡µðÅÍ)¿¡ Á¸ÀçÇÏ´Â ³»¿ë
Ãâ·Â
- COMMAND ¶óÀο¡¼(HOME ±Û¼è¸¦
´©¸£¸é µÈ´Ù) FILE '¡¦¡¦µå¶óÀ̺ꡤÆÐ½º¡¤ÆÄÀÏÀ̸§¡¦¡¦'À» ¾²°í
½ÇÇà±Û¼è(ENTER)¸¦ ´©¸£¸é À©µµ¿ìÀÇ ³»¿ëÀÌ ASCII TEXTÆÄÀÏ·Î ¸¸µé¾îÁ®
µð½ºÅ©¿¡ ¾º¿©Áø´Ù.
- FILE 'f:\sas\data\korea.out';
- Âü°í: ÇÁ¸°ÅÍ·Î Ãâ·ÂÇÏ´Â °ÍÀº
FILE 'PRN'À¸·Î ÇÑ´Ù.
´Ù. ¶óÀ̺귯¸®·Î Ãâ·Â
- ¶óÀ̺귯¸®ÆÄÀÏ·Î Ãâ·ÂµÈ °ÍÀº
SAS°¡ ÀÚ½ÅÀÇ ÆÄÀϾç½ÄÀ¸·Î ÀúÀåÇϱ⠶§¹®¿¡ µ¥ÀÌÅÍ ÆÄÀÏÀÇ ASCII
TEXT¿Í´Â ´Ù¸£´Ù. µû¶ó¼ ÀϹݿ¡µðÅͷδ ºÒ·¯¼ º¸°Å³ª ÆíÁýÇÒ
¼ö ¾ø´Ù.
- LIBNAME korea 'c:\sas\lib\';
/* Çö µð·ºÅ丮´Â '.';·Î Ç¥ÇöÇÑ´Ù. */
- DATA korea.tiger; INPUT x @@;
CARDS; µ¥ÀÌŸ¸¦ ÀÐ¾î¼ c:\sas\lib\tiger.ssd·Î ÀúÀå
- DATA korea2; SET korea.tiger;
/* »õ·Î¿î DATA STEP¿¡¼ ÀÐÀ» ¶§*/

Etc. (Options,
Label, Format, Missing, Title)
°¡. OPTIONS
- OPTIONS PAGESIZE=60 LINESIZE=78
NODATE; /* Ãâ·Â½Ã ÇÑ ÆäÀÌÁö´Â 78Ä, 60ÁÙ·Î ÇÏ¸ç ³¯Â¥´Â ÀûÁö
¾Ê´Â´Ù. */
³ª. COMMENT: ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¼³¸íÀ̳ª
ÇÁ·Î½ÃÁ® ¼³¸íÀ» ¾´´Ù. ÄÚ¸àÆ®¹®ÀåÀº ÇÁ·Î±×·¥À» ÀÌÇØÇϱ⠽±°Ô ÇÒ »Ó¸¸
¾Æ´Ï¶ó ¿¡·¯¸¦ ã¾Æ ¾ø¿¡´Â µ¥ Áß¿äÇÑ ±â´ÉÀ» ÇÑ´Ù.
- ¸Þ½ÃÁöÀÇ ±æÀÌ¿¡´Â Á¦ÇÑÀÌ ¾øÀ¸³ª
¼¼¹ÌÄÝ·Ð(;)À» ¾µ ¼ö ¾ø´Ù.
- COMMENT: COMMENT message; ÁÖÀÇÇØ¾ß
ÇÒ °ÍÀº COMMENT ÁÖ¼®¹®¿¡¼ COMMENT¿Í *¹®Àå ³¡¿¡´Â ¹Ýµå½Ã ¼¼¹ÌÄÝ·ÐÀ»
Âï¾î¾ß ÇÑ´Ù.
- *: * message; ¹Ýµå½Ã ù Ä®·³¿¡
*¸¦ ½á¾ß ÇÑ´Ù.
- /*...*/: /* message */ : ¼¼¹ÌÄÝ·ÐÀ»
¾µ ¼ö´Â ÀÖÀ¸³ª ù ¹øÂ° columnºÎÅÍ »ç¿ëÇÒ ¼ö´Â ¾ø´Ù. ¿¹ÄÁ´ë,
/* ¿©±âºÎÅʹ ȸ±ÍºÐ¼®¿¡ °üÇÑ ÇÁ·Î½ÃÁ®(PROC REG;)ÀÌ´Ù. */
´Ù. LABEL: º¯¼öÀ̸§¿¡ ´ëÇÑ ¼³¸íÀ»
ÀûÀ½À¸·Î½á 󸮰á°ú¸¦ Àбâ ÁÁ°Ô ÇÑ´Ù.
- ÃÖ´ë 40¹ÙÀÌÆ®±îÁö ¾µ ¼ö Àִµ¥,
Çѱ۷Πº¯¼ö¸¦ ¾²Áö ¸øÇÏ´Â ÇѰ踦 º¸¿ÏÇÒ ¼ö ÀÖ´Ù.
- LABEL sex="¼ºº°" age="³ªÀÌ";
/* sex°¡ ³ª¿Ã °÷¿¡´Â "¼ºº°"À̶ó°í Ç¥½ÃÇϰí age°¡
³ª¿Ã °÷¿¡´Â "³ªÀÌ"¶ó°í Ç¥½Ã */
¶ó. FORMAT: º¯¼ö°ªÀÌ Ãâ·ÂµÉ ¶§ÀÇ ¾ç½ÄÀ»
Á¤ÇØÁִµ¥ »ç¿ëÇÑ´Ù.
- PROC FORMAT;
- VALUE sexfmt 1='mail' 2='female';
VALUE agefmt 1='YB' 2='OB';
- DATA korea; INPUT name $ sex
age;
- FORMAT sex sexfmt age agefmt;
CARDS;Park 1 2; RUN;
- PROC FREQ; TABLES sex age; FORMAT
sex sexfmt age agefmt; Ãâ·Â½Ã º¯¼ö sexÀÇ °ªÀÌ 1À̸é 'male',
2À̸é 'female'·Î ³ª¿Â´Ù.
¸¶. MISSING: ¼ýÀÚº¯¼ö¿¡¼ ƯÁ¤¹®ÀÚ¸¦
missing value·Î ÁöÁ¤ÇÑ´Ù.
- DATA korea; MISSING a s; INPUT
name $ id score grade; CARDS; ÀÌ ¹®ÀåÀº id, score, gradeÀÇ °ª
Áß a³ª s°¡ ÀÖÀ¸¸é missingÀ¸·Î °£ÁÖÇ϶ó´Â °ÍÀÌ´Ù.
- ( MISSING¹®ÀÌ ¾øÀ¸¸é a³ª s´Â
invalid numericÀ¸·Î °£ÁÖÇÑ´Ù._
¹Ù. TITLE: Ãâ·ÂÇÒ ¶§ Á¦¸ñÀ» ³ªÅ¸³»´Âµ¥
ÃÖ´ë 10ÁÙ, °¢ ÁÙ´ç 132¹®ÀÚ±îÁö °¡´É
- TITLE '98 °í´ë ÇàÁ¤Çаú ½ÅÀÔ»ý
¼öÇдɷ½ÃÇè Á¡¼ö ºÐ¼®';
- TITLE; /* SASÀÇ default titleÀ»
Á¦°ÅÇÑ´Ù. */
- TITLE3; /* 3¹øÂ° ÀÌÈÄÀÇ titleÀ»
Á¦°ÅÇÑ´Ù. */
 |
|
|