Stats Notes  

  SAS Generals

  SAS IML


  Basic Rules

  Components

  Expressions

  Structures


  Data Step

  Input Statement

  Coltrol Flow

  File Include

  File Output  

  Option, Etc

  SAS Examples


   

   Korean

  

Created on Jan. 01, 2000

Last Modified on 03/15/2000

 


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¿¡¼­µµ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.

Up

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_: À©µµ¿ì¿¡ Ç¥½ÃÇÏ°í ½ÍÀº ¸Þ½ÃÁö¸¦ ÁöÁ¤ÇÑ´Ù.

 Up

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À̶ó´Â º¯¼ö¸¦ »õ·Î ¸¸µé°í ¿©±â¿¡ ÀúÀåÇ϶ó´Â Àǹ̰¡ µÈ´Ù.

Up

Program Structures

°¡. DATA step

  • ÇѰ³ ¶Ç´Â ±× ÀÌ»óÀÇ datasetÀ» ¸¸µé°í Á¶ÀÛÇϱâ À§ÇØ »ç¿ëÇÑ´Ù.
  • ¿À·ù¸¦ Á¡°ËÇÏ¿© Á¤Á¤Çϰí, »õ·Î¿î º¯¼ö¸¦ ¸¸µé°í, »õ·Î¿î µ¥ÀÌÅͼÂÀ» ¸¸µç´Ù.
  • DATA statement·Î ½ÃÀÛ

³ª. PROCEDURE step

  • DATA ½ºÅÜ¿¡¼­ ¸¸µé¾îÁø datasetÀ» °¡Áö°í Åë°èºÐ¼®À» ¼öÇàÇÑ´Ù.
  • PROC statement·Î ½ÃÀÛ

Up

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';

Up

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)¸¦ Á¶Á¤ÇÔÀ¸·Î½á È¿¿ë¼ºÀ» ¹ßÈÖÇÑ´Ù.
    1. @nÀº ÀÔ·ÂÆ÷ÀÎÅ͸¦ n¹øÂ° Ä÷³À¸·Î ¿Å±â¸ç, (column control)
    2. @@´Â ÇØ´ç µ¥ÀÌÅ͸¦ ÀÐÀº ÈÄ¿¡µµ Æ÷ÀÎÅ͸¦ ±× ¶óÀο¡ ¸Ó¹°°Ô Çϸç, (line holder)
    3. +nÀº ÇöÀç À§Ä¡¿¡¼­ nÄ®·³¸¸Å­ ÀÔ·ÂÆ÷ÀÎÅ͸¦ ¿Å±â¸ç, (column control)
    4. #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

Up

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';

Up

¿ÜºÎµ¥ÀÌŸÆÄÀÏ »ç¿ë (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) ¸í½ÃÇØ¾ß ÇÑ´Ù.

Up

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¿¡¼­ ÀÐÀ» ¶§*/

 

Up

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À» Á¦°ÅÇÑ´Ù. */

 Home

 

 

 

Copyright (c) 1999-Present. Park, Hun Myoung, Joint Ph.D. student in Public Policy
Department of Political Science and the School of Public and Environmental Affairs, Indiana University