[Top] [Contents] [Index] [ ? ]

R Language Definition

1. ½ø  
2. ¥ª¥Ö¥¸¥§¥¯¥È  
3. ɽ¸½¼°¤Îɾ²Á  
4. ´Ø¿ô  
5. ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°  
6. ¸À¸ì¼«ÂÎ¤Î¥×¥í¥°¥é¥ß¥ó¥°  
7. ¥·¥¹¥Æ¥à¤È³°Éô¸À¸ì¤È¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹  
8. Îã³°½èÍý  
9. ¥Ç¥Ð¥Ã¥°  
10. ¹½Ê¸²òÀÏ  
´Ø¿ô¤ÈÊÑ¿ô¤Îº÷°ú  
A. »²¹Íʸ¸¥  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. ½ø

R ¤ÏÅý·×·×»»¤È¥°¥é¥Õ¥£¥Ã¥¯¥¹¤Î°Ù¤Î¥·¥¹¥Æ¥à¤Ç¤¢¤ë¡£¤³¤ì¤Ï¡¢½¢Ãæ¡¢ ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¡¢¹â¿å½à¥°¥é¥Õ¥£¥Ã¥¯¥¹¡¢Â¾¤Î¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹¡¢¤½¤·¤Æ ¥Ç¥Ð¥Ã¥°ÍѤε¡Ç½¤òÄ󶡤¹¤ë¡£¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï R ¸À¸ì¤Î»ÅÍͤξܽҤ·¡¢ÄêµÁ¤ò Í¿¤¨¤ë¡£

R ¸À¸ì¤Ï¡¢1980ǯÂå¤Ë¥Ç¥¶¥¤¥ó¤µ¤ì¤½¤ì°ÊÍèÅý·×´Ø·¸¼Ô¤Î´Ö¤Ç¹­¤¯»È¤ï¤ì¤Æ¤­¤¿ S ¤ÎÊý¸À¤Ç¤¢¤ë¡£S ¤Î¼çÍפʳ«È¯¼Ô¤Ç¤¢¤ë John M. Chambers ¤Ï 1998 ǯ¤Î ACM ¥½¥Õ¥È¥¦¥§¥¢¥·¥¹¥Æ¥à¾Þ¤ò¼õ¾Þ¤·¤¿¡£

¸À¸ì¤Î¹½Ê¸¤Ï C ¸À¸ì¤È³°¸«¾å¤ÎÎà»÷À­¤ò»ý¤Ä¤¬¡¢ ¤½¤Î¥»¥Þ¥ó¥Æ¥£¥Ã¥¯¥¹¤Ï Lisp ¤È APL ¤Ë¶¯¤¤¿ÆÏÂÀ­¤ò»ý¤Ä FPL (´Ø¿ô¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì) ¤ÎÊѼï¤Ç¤¢¤ë¡£ÆÃ¤Ë¡¢¤½¤ì¤Ï "¸À¸ì¤Ë¤è¤ë·×»»" ¤ò²Äǽ¤Ë¤·¡¢¤½¤ì¤Ë¤è¤êɽ¸½¼°¤òÆþÎϤ˼è¤ë´Ø¿ô¤ò½ñ¤¯¤³¤È¤ò ²Äǽ¤Ë¤¹¤ë¡£¤³¤ì¤ÏÅý·×¥â¥Ç¥ê¥ó¥°¤È¥°¥é¥Õ¥£¥Ã¥¯¥¹¤Ç¤·¤Ð¤·¤ÐÍ­ÍѤˤʤ롣

¥³¥Þ¥ó¥É¹Ô¤«¤éÆþÎϤ·¤¿´Êñ¤Êɽ¸½¼°¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ë¡¢R ¤ÎÂÐÏÃŪ¤Ê»ÈÍѤ«¤é ¶Ë¤á¤ÆÂ¿¤¯¤Î¤â¤Î¤òÆÀ¤ë¤³¤È¤¬½ÐÍè¤ë¡£¤³¤Î¥ì¥Ù¥ë¤òͤ¨¤ëɬÍפÎÁ´¤¯¤Ê¤¤¥æ¡¼¥¶¡¼¤â ¤¤¤ë¤Ç¤¢¤í¤¦¤¬¡¢·«¤êÊÖ¤·¹Ô¤¦ºî¶È¤òÅý°ì²½¤¹¤ë¤¿¤á¤Ë¤½¤Î¾ì¸Â¤ê¤Î¤ä¤êÊý¤ä¡¢ ¿·¤·¤¤¥¢¥É¥ª¥ó¥Ñ¥Ã¥±¡¼¥¸¤ò½ñ¤¯¤È¤¤¤¦ÌÜɸ¤Î¤¿¤á¤Ë¡¢¼«Ê¬¼«¿È¤Î´Ø¿ô¤ò½ñ¤­¤¿¤¤¤È¤¤¤¦ ¥æ¡¼¥¶¡¼¤â¤¤¤ë¤Ç¤¢¤í¤¦¡£

¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤ÎÌÜŪ¤Ï¸À¸ì¼«ÂΤΥɥ­¥å¥á¥ó¥È²½¤Ç¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢R ¤Î´Ø¿ô¤ò¥×¥í¥°¥é¥ß¥ó¥°¤¹¤ëºÝ¤ËÃΤäƤª¤¯¤ÈÌò¤ËΩ¤Ä¡¢°·¤¦Âоݤȡ¢É½¸½¼°¤Îɾ²Á¤Î²áÄø¤Î¾ÜºÙ¤Ç¤¢¤ë¡£ ¥°¥é¥Õ¥£¥Ã¥¯¥¹¤Î¤è¤¦¤Ê¡¢ÆÃ¼ì¤Êºî¶ÈÍѤΥµ¥Ö¥·¥¹¥Æ¥à¤Ï¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï¶Ë¤¯´Êñ¤Ë¤·¤«½Ò¤Ù¤é¤ì¤º¡¢ Ê̸Ĥ˥ɥ­¥å¥á¥ó¥È²½¤µ¤ì¤ë¤Ç¤¢¤í¤¦¡£

¤³¤Î¥Æ¥­¥¹¥È¤Ë½ñ¤«¤ì¤¿Â¿¤¯¤Ï S ¤Ë¤âƱ¤¸¤è¤¦¤Ë³ºÅö¤¹¤ë¤¬¡¢¤½¤ì¤Ç¤â´ö¤Ä¤«¤Î ËܼÁŪ¤Ê°ã¤¤¤¬Â¸ºß¤·¡¢¤³¤È¤¬¤é¤òº®Í𤵤»¤Ê¤¤¤¿¤á¤Ë R ¤Îµ­½Ò¤Ë¸ÂÄꤹ¤ë¤³¤È¤Ë¤¹¤ë¡£

¤³¤Î¸À¸ì¤Î¥Ç¥¶¥¤¥ó¤Ï¡¢¥æ¡¼¥¶¡¼¤ò¶Ã¤«¤»¤ë¤«¤âÃΤì¤Ê¤¤´ö¤Ä¤«¤ÎÀºÌ¯¤ÊÅÀ¤È¡¢Îɤ¯¤¢¤ë´Ùã× ¤ò»ý¤Ä¡£¸å¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¤³¤ì¤é¤Î¤Û¤È¤ó¤É¤Ï¿¼¤¤¿å½à¤Ç¤Î°ì´ÓÀ­¤Î¹Íθ¤ËͳÍ褹¤ë¡£ ¤Þ¤¿´ö¤Ä¤«¤ÎÍ­ÍÑ¤Ê¶áÆ»¤È´·ÍÑË¡¤¬¤¢¤ê¡¢¶Ë¤á¤ÆÊ£»¨¤ÊÁàºî¤ò´ÊÌÀ¤Ëɽ¸½¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ ¤³¤ì¤é¤Î¿¤¯¤Ï´ðÁäˤ¢¤ë³µÇ°¤Ë°ìö¤Ê¤ì¤ì¤Ð¼«Á³¤Ë¤Ê¤ë¡£¤¢¤ë¾ì¹ç¤Ë¤Ï °ì¤Ä¤Îºî¶È¤ò¹Ô¤¦Ê£¿ô¤ÎÊýË¡¤¬Â¸ºß¤¹¤ë¤¬¡¢¤½¤Î¥Æ¥¯¥Ë¥Ã¥¯¤Î´ö¤Ä¤«¤Ï¸À¸ì¤Î¥¤¥ó¥×¥ê¥á¥ó¥ÈË¡¤Ë°Í¸¤·¡¢ ¤½¤Î¾¤Ï¤è¤ê¹â¤¤Ãê¾ÝÅ٤οå½à¤Ë¤ª¤¤¤ÆÆ°ºî¤¹¤ë¡£¤½¤¦¤·¤¿¾ì¹ç¡¢¤è¤ê¹¥¤Þ¤·¤¤»ÈÍÑË¡¤ò»Ø¼¨¤¹¤ë¤Ç¤¢¤í¤¦¡£

R ¤Ë¿¾¯¤ÎÆëÀ÷¤ß¤¬¤¢¤ë¤³¤È¤òÁ°Äó¤Ë¤¹¤ë¡£¤³¤ì¤Ï R ¤Ø¤ÎÆþÌç½ñ¤Ç¤Ï¤Ê¤¯¡¢¤à¤·¤í¥×¥í¥°¥é¥Þ¡¼ÍѤΠ»²¾È¥Þ¥Ë¥å¥¢¥ë¤Ç¤¢¤ë¡£Â¾¤Î¥Þ¥Ë¥å¥¢¥ë¡¢ÆÃ¤Ë section `Preface' in R Introduction¡¢¤Ï R ¤Ø¤Î ÊÝ´ÉŪ¤Ê¾ðÊó¤òÄ󶡤·¡¢section `System and foreign language interfaces' in Writing R Extensions ¤Ï¥³¥ó¥Ñ¥¤¥ë ¤·¤¿¥³¡¼¥É¤Ç R ¤ò³ÈÄ¥¤¹¤ëÊýË¡¤ò¾Ü½Ò¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. ¥ª¥Ö¥¸¥§¥¯¥È

Á´¤Æ¤Î·×»»µ¡¸À¸ì¤Ç¤ÏÊÑ¿ô(Ëô¤Ï¥·¥ó¥Ü¥ë)¤Ï¥á¥â¥ê¡¼Ãæ¤ËÊݴɤµ¤ì¤¿¥Ç¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤¹¤ë ¼êÃʤòÄ󶡤¹¤ë¡£R ¤Ï·×»»µ¡¤Î¥á¥â¥ê¡¼¤Ø¤ÎľÀÜŪ¤Ê¥¢¥¯¥»¥¹¼êÃʤòÄ󶡤»¤º¡¢¤à¤·¤í º£¸å¥ª¥Ö¥¸¥§¥¯¥È¤È¸Æ¤Ð¤ì¤ë´ö¤Ä¤«¤ÎÆÃ¼ì²½¤µ¤ì¤¿¥Ç¡¼¥¿¹½Â¤¤òÄ󶡤¹¤ë¡£ ¤³¤ì¤é¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥·¥ó¥Ü¥ë¤äÊÑ¿ô¤ò²ð¤·¤Æ»²¾È¤µ¤ì¤ë¡£¤·¤«¤·¤Ê¤¬¤é R ¤Ç¤Ï¥·¥ó¥Ü¥ë¤Ï ¤½¤ì¼«¿È¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱ¤¸ÊýË¡¤ÇÁàºî¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¡£ ¤³¤ì¤Ï¾¤Î¿¤¯¤Î¸À¸ì¤È°Û¤Ê¤ê¡¢¹­ÈϰϤËÅϤë¸ú²Ì¤ò»ý¤Ä¡£

¤³¤Î¾Ï¤Ç¤Ï R ¤ÇÄ󶡤µ¤ì¤ëÍÍ¡¹¤Ê¥Ç¡¼¥¿¹½Â¤¤Î½àÈ÷Ū¤Êµ­½Ò¤òÍ¿¤¨¤ë¡£ ¤½¤ì¤é¤Î¿¤¯¤Î¤è¤ê¾ÜºÙ¤ÊµÄÏÀ¤Ï°ú¤­Â³¤¯¾Ï¤ÇÍ¿¤¨¤é¤ì¤ë¡£ The R ¸ÇÍ­¤Î´Ø¿ô typeof ¤Ï¤¢¤ë R ¥ª¥Ö¥¸¥§¥¯¥È¤Î·¿ type ¤òÊÖ¤¹¡£R ¤Î´ðÁäˤ¢¤ë C ¤Î¥³¡¼¥É¤Ç¤ÏÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï ÄêµÁ·¿ SEXPREC ¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£°Û¤Ê¤Ã¤¿ R ¤Î¥Ç¡¼¥¿·¿¤Ï C ¤Ç SEXPTYPE ¤Èɽ¸½¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¹½Â¤¤ÎÍÍ¡¹¤ÊÉôʬ¤Î¾ðÊ󤬤ɤΤ褦¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤«¤ò·èÄꤹ¤ë¡£

¼¡¤Îɽ¤Ï typeof ¤¬ÊÖ¤¹Á´¤Æ¤Î²Äǽ¤ÊÃͤȤ½¤Î°ÕÌ£¤ò¼¨¤¹¡£

NULL ¶õ
symbol ÊÑ¿ô̾
pairlist ÂХꥹ¥È¥ª¥Ö¥¸¥§¥¯¥È
closure ´Ø¿ô
environment ´Ä¶­
promise ÃÙ±äɾ²Á¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È
language R ¤Î¸À¸ì¹½À®
special ¤½¤Î°ú¤­¿ô¤òɾ²Á¤·¤Ê¤¤Áȹþ¤ß´Ø¿ô
builtin ¤½¤Î°ú¤­¿ô¤òɾ²Á¤¹¤ëÁȹþ¤ß´Ø¿ô
logical ÏÀÍýÃͤò´Þ¤à¥Ù¥¯¥È¥ë
integer À°¿ôÃͤò´Þ¤à¥Ù¥¯¥È¥ë
double ¼Â¿ôÃͤò´Þ¤à¥Ù¥¯¥È¥ë
complex Ê£ÁÇ¿ôÃͤò´Þ¤à¥Ù¥¯¥È¥ë
character ʸ»úÃͤò´Þ¤à¥Ù¥¯¥È¥ë
... ÆÃ¼ì¤Ê²ÄÊÑŰú¤­¿ô ***
any Á´¤Æ¤Î·¿¤Ë¥Þ¥Ã¥Á¤¹¤ëÆÃ¼ì¤Ê·¿ ***
expression ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È
list ¥ê¥¹¥È
externalptr ³°Éô¥Ý¥¤¥ó¥¿¡¼¥ª¥Ö¥¸¥§¥¯¥È

¥æ¡¼¥¶¡¼¤¬ `***' ¤Ç¥Þ¡¼¥¯¤µ¤ì¤¿¹àÌܤò¡¢¤¹¤¯¤Ê¤¯¤È¤â¶ìÏ«¤»¤º¤Ë¡¢ÍýÍѤǤ­¤ë¤È¤Ï»×¤¨¤Ê¤¤¡£ È¿Î㤬¤¢¤ì¤Ð¶µ¤¨¤Æ¤â¤é¤¤¤¿¤¤¡£

´Ø¿ô mode ¤Ï Becker, Chambers & Wilks (1988) ¤Î°ÕÌ£¤Ç¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î mode ¤Ë´Ø¤¹¤ë ¾ðÊó¤òÍ¿¤¨¡¢Â¾¤Î S ¸À¸ì¤Î¥¤¥ó¥×¥ê¥á¥ó¥È¤È´°Á´¤Ë¸ß´¹À­¤¬¤¢¤ë¡£ ºÇ¸å¤Ë¡¢´Ø¿ô storage.mode ¤Ï Becker et al. (1988) ¤Î°ÕÌ£¤Ç¤Î¡¢¤½¤Î°ú¤­¿ô¤Î storage mode ¤òÊÖ¤¹¡£¤³¤ì¤Ï°ìÈ̤ˡ¢C ¤ä FORTRN ¤È¤¤¤Ã¤¿¡¢Â¾¸À¸ì¤Ç½ñ¤«¤ì¤¿´Ø¿ô¤ò ¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢R ¥ª¥Ö¥¸¥§¥¯¥È¤¬¸Æ¤Ó½Ð¤·¥ë¡¼¥Æ¥£¥ó¤¬´üÂÔ¤¹¤ë¥Ç¡¼¥¿·¿¤ò»ý¤Ä¤³¤È¤ò Êݾڤ¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£(S ¸À¸ì¤Ç¤Ï¡¢À°¿ô¤â¤·¤¯¤Ï¼Â¿ôÃÍ¥Ù¥¯¥È¥ë¤Ï¶¦¤Ë "numeric" ¥â¡¼¥É¤Ç¤¢¤ê¡¢½¾¤Ã¤Æ¤½¤ì¤é¤ÎÊݴɥ⡼¥É¤Ï¶èÊ̤¹¤ëɬÍפϤʤ¤¡£)

 
> x <- 1:3
> typeof(x)
[1] "integer"
> mode(x)
[1] "numeric"
> storage.mode(x)
[1] "integer"

R ¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤·¤Ð¤·¤Ð·×»»ÅÓÃæ¤Ç¾¤Î·¿¤Ë¶¯À©ÊÑ´¹¤µ¤ì¤ë¡£ÌÀ¼¨Åª¤Ë¶¯À©ÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤Ë»È¤¨¤ëÈó¾ï¤Ë¿¿ô¤Î´Ø¿ô¤¬Â¸ºß¤¹¤ë¡£ R ¸À¸ì¤Ç¥×¥í¥°¥é¥à¤ò¹Ô¤¦ºÝ¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î·¿¤Ï°ìÈ̤˷׻»²áÄø¤Ë±Æ¶Á¤òµÚ¤Ü¤µ¤Ê¤¤¤¬¡¢¤·¤«¤·¤Ê¤¬¤é¡¢Â¾¤Î¸À¸ì¤ä¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à¤ò»È¤¦ºÝ¤Ë¤Ï¡¢¤·¤Ð¤·¤Ð¥ª¥Ö¥¸¥§¥¯¥È¤¬Å¬Àµ¤Ê·¿¤ò»ý¤Ä¤³¤È¤òÊݾڤ¹¤ëɬÍפ¬µ¯¤­¤ë¡£

2.1 ´ðËÜ·¿  
2.2 °À­  
2.3 ÆÃ¼ì¤ÊÊ£¹ç¥ª¥Ö¥¸¥§¥¯¥È  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 ´ðËÜ·¿

2.1.1 ¥Ù¥¯¥È¥ë  
2.1.2 ¥ê¥¹¥È  
2.1.3 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È  
2.1.4 ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È  
2.1.5 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È  
2.1.6 NULL  
2.1.7 Áȹþ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ÈÆÃ¼ì·Á¼°  
2.1.8 Promise ¥ª¥Ö¥¸¥§¥¯¥È  
2.1.10 ´Ä¶­  
2.1.12 "any" ·¿  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.1 ¥Ù¥¯¥È¥ë

¥Ù¥¯¥È¥ë¤ÏÅù¼ÁŪ¤Ê¥Ç¡¼¥¿¤ò´Þ¤àϢ³¤·¤¿¥»¥ë¤È¹Í¤¨¤ÆÎɤ¤¡£ ¥»¥ë¤Ï x[5] ¤È¤¤¤Ã¤¿Åº»úÁàºî¤Ë¤è¤ê¥¢¥¯¥»¥¹½ÐÍè¤ë¡£ ¾ÜºÙ¤Ï @xref{Indexing} ¤Ë¤¢¤ë¡£.

R ¤Ï5¤Ä¤Î´ðËÜŪ¤Ê¥Ù¥¯¥È¥ë·¿¤ò»ý¤Ä: ÏÀÍý¡¢À°¿ô¡¢¼Â¿ô¡¢Ê£ÁÇ¿ô¤½¤·¤ÆÊ¸»úÎó(¤â¤·¤¯¤Ïʸ»ú)¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Î¥Ù¥¯¥È¥ë¥¿¥¤¥×¤Î¥â¡¼¥É¤ÈÊݴɥ⡼¥É¤¬¼¡É½¤Ë¤¢¤ë¡£

·¿ ¥â¡¼¥É Êݴɥ⡼¥É
ÏÀÍýÃÍ logical logical
À°¿ôÃÍ numeric integer
ÇÜÀºÅټ¿ôÃÍ numeric double
Ê£ÁÇ¿ôÃÍ complex complex
ʸ»ú character character

ʸ»úÎó¥Ù¥¯¥È¥ë¤Ï "character" ¤È¤¤¤¦¥â¡¼¥É¤ÈÊݴɥ⡼¥É¤ò»ý¤Á¡¢¤³¤ì¤Ï¾¯¤·Ê¶¤é¤ï¤·¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.2 ¥ê¥¹¥È

¥ê¥¹¥È ("Áí¾ÎŪ¥Ù¥¯¥È¥ë") ¤Ï¤â¤¦°ì¤Ä¤Î¥Ç¡¼¥¿ÊݴɼêÃʤǤ¢¤ë¡£¥ê¥¹¥È ¤ÏÍ×ÁǤò»ý¤Á¡¢¤½¤Î³Æ¡¹¤ÏǤ°Õ¤Î·¿¤Î R ¥ª¥Ö¥¸¥§¥¯¥È¤ò´Þ¤à¤³¤È¤¬½ÐÍè¤ë¡¢¤Ä¤Þ¤ê¡¢ ¥ê¥¹¤È¤ÎÍ×ÁÇ¤ÏÆ±¤¸·¿¤Ç¤¢¤ëɬÍפϤʤ¤¡£¥ê¥¹¥ÈÍ×ÁǤϻ°¤Ä¤Î°Û¤Ê¤Ã¤¿Åº»úÁàºî¤Ç¥¢¥¯¥»¥¹¤µ¤ì¤ë¡£ ¤³¤ì¤é¤Ï @xref{Indexing} ¤Ç¾Ü¤·¤¯ÀâÌÀ¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.3 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È

R ¸À¸ì¤ò¹½À®¤¹¤ë»°¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î·¿¤¬¤¢¤ë¡£ calls, expressions, ¤½¤·¤Æ names ¤Ç¤¢¤ë¡£ R ¤Ï·¿ "expression"¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»ý¤Ä¤Î¤Ç¡¢Â¾¤ÎÊ¸Ì®Ãæ¤Ç¸ÀÍդˤè¤ë ɽ¸½¼°¤Î»ÈÍѤòÈò¤±¤ë¤³¤È¤Ë¤¹¤ë¡£ÆÃ¤Ë¹½Ê¸Åª¤ËÀµ¤·¤¤É½¸½¤Ï statements ¤È¤¤¤¦Ì¾Á°¤Ç»²¾È¤¹¤ë¡£

¤³¤ì¤é¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï "call", "expression" ¤½¤·¤Æ "name" ¤È¤¤¤¦¥â¡¼¥É¤ò¤½¤ì¤¾¤ì»ý¤Ä¡£

¤³¤ì¤é¤Ïɽ¸½¼°¤«¤é quote µ¡¹½¤òÍѤ¤¤ÆÄ¾ÀܤˤĤ¯¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¡¢ as.list ´Ø¿ô¤È as.call ´Ø¿ô¤òÍѤ¤¤Æ¥ê¥¹¥È¤«¤é¡¢¤½¤·¤Æ¥ê¥¹¥È¤Ø¡¢ ÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¹½Ê¸²òÀÏÌÚ¤ÎÀ®Ê¬¤Ïɸ½àŪ¤Êź»úÁàºî¤òÍѤ¤¤ÆÈ´¤­½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£

2.1.3.1 ¥·¥ó¥Ü¥ë¥ª¥Ö¥¸¥§¥¯¥È  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.3.1 ¥·¥ó¥Ü¥ë¥ª¥Ö¥¸¥§¥¯¥È

¥·¥ó¥Ü¥ë¤Ï R ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¡£Á´¤Æ¤Î R ¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ï ÉáÄÌ¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£¥·¥ó¥Ü¥ë¤Ï´Ø¿ô quote ¤òÄ̤¸¤Æ¤Ä¤¯¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£.

¥·¥ó¥Ü¥ë¤Ï¥â¡¼¥É "name"¡¢Êݴɥ⡼¥É "symbol"¡¢¤½¤·¤Æ ·¿ "symbol" ¤ò»ý¤Ä¡£¤³¤ì¤é¤Ï as.character ¤È as.name ¤òÍѤ¤¤Æ ʸ»úÎ󤫤顢¤½¤·¤ÆÊ¸»úÎ󤨡¢¶¯À©ÊÑ´¹¤Ç¤­¤ë¡£ ¤³¤ì¤é¤Ï¹½Ê¸²òÀϺѤߤÎɽ¸½¼°¤Î¥¢¥È¥à¤È¤·¤Æ¼«Á³¤ËÅо줹¤ë¡¢ Î㤨¤Ð as.list(quote(x + y)) ¤ò»î¤·¤Æ¤ß¤è¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.4 ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È

R ¤Ç¤Ï·¿ "expression" ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£ °ì¤Ä¤Î expression ¤Ï°ì¤Ä¤â¤·¤¯¤ÏÊ£¿ô¤Îʸ¤ò´Þ¤à¡£Ê¸¤È¤Ï ¹½Ê¸Åª¤ËÀµ¤·¤¤¥·¥ó¥Ü¥ë¤Î½¸¤ê¤Ç¤¢¤ë¡£É½¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢ ¤½¤ì¤¬¹½Ê¸²òÀϺѤߤΡ¢¤·¤«¤·Ì¤É¾²Á¤Î R ʸ¤ò´Þ¤à¤È¤¤¤¦ÅÀ¤Ç¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È¤Ë »÷¤Æ¤¤¤ë¡£¼ç¤Ê°ã¤¤¤Ï¡¢É½¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤ÏÊ£¿ô¤Î¤½¤¦¤·¤¿É½¸½¤ò¤Õ¤¯¤à¤³¤È¤¬¤Ç¤­¤ë¤³¤È¤Ë¤¢¤ë¡£ ¤â¤¦°ì¤Ä¤Î¤è¤êÈù̯¤Êº¹°Û¤Ï¡¢·¿ "expression" ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÏÌÀ¼¨Åª¤Ë eval ¤Ë °ú¤­ÅϤµ¤ì¤¿¤È¤­¤À¤±É¾²Á¤µ¤ì¤ë°ìÊý¡¢¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È¤Ï»×¤ï¤Ì¤È¤³¤í¤Çɾ²Á¤µ¤ì¤ë²ÄǽÀ­¤¬ ¤¢¤ë¤³¤È¤Ë¤¢¤ë¡£

ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥ê¥¹¥È¤ÈÎɤ¯»÷¤¿¿¶Éñ¤ò»ý¤Á¡¢¤½¤ÎÀ®Ê¬¤Ï¥ê¥¹¥È¤ÎÀ®Ê¬¤È ƱÍͤλÅÊý¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.5 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È

R ¤Ç¤Ï´Ø¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÈÎɤ¯»÷¤¿ÊýË¡¤ÇÁàºî¤Ç¤­¤ë¡£ ´Ø¿ô¤Ï»°¤Ä¤Î´ðËÜÀ®Ê¬¡¢·Á¼°Åª°ú¿ô¤Î¥ê¥¹¥È¡¢ËÜÂΡ¢¤½¤·¤Æ´Ä¶­¤ò»ý¤Ä¡£°ú¿ô¥ê¥¹¥È¤Ï¥³¥ó¥Þ¤Ç ¶èÀÚ¤é¤ì¤¿°ú¿ô¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£°ú¿ô¤Ï¥·¥ó¥Ü¥ë¡¢`symbol = default' ¤È¤¤¤¦É½¸½¡¢¤â¤·¤¯¤ÏÆÃ¼ì¤Ê°ú¿ô `...' ¤Î¤¤¤º¤ì¤«¤Ç¤¢¤ë¡£ °ú¿ô¤ÎÂèÆó·Á¼°¤Ï¤¢¤ë°ú¿ô¤Î´ûÄêÃͤò»ØÄꤹ¤ë¤Î¤Ë»È¤ï¤ì¤ë¡£ ¤³¤ÎÃͤϴؿô¤¬¤½¤Î°ú¿ô¤ËÂФ·ÆÃ¤ËÃͤλØÄê¤Ê¤·¤Ç¸Æ¤Ó½Ð¤µ¤ì¤¿¤È¤­¤Ë»È¤ï¤ì¤ë¡£ `...' °ú¿ô¤ÏÆÃÊ̤Ǥ¢¤ê¡¢Ç¤°Õ¸Ä¿ô¤Î°ú¿ô¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤ë¡£ ÉáÄ̤³¤ì¤Ï°ú¿ô¤Î¿ô¤¬Ì¤ÃΤξì¹ç¤ä¡¢°ú¿ô¤¬Â¾¤Î´Ø¿ô¤Ë°ú¤­ÅϤµ¤ì¤ëºÝ¤Ë»È¤ï¤ì¤ë¡£

´Ø¿ôËÜÂΤϹ½Ê¸²òÀϺѤΠR ¤Îʸ¤Ç¤¢¤ë¡£ÉáÄÌÃæ³ç¸Ì¤Ç¶´¤Þ¤ì¤¿Ê¸¤Î½¸¤ê¤Ç¤¢¤ë¤¬¡¢ ñ°ì¤Îʸ¡¢¥·¥ó¥Ü¥ë¡¢¤µ¤é¤Ë¤ÏÄê¿ô¤Ç¤â¤è¤¤¡£

´Ø¿ô¤Î´Ä¶­¤Ï´Ø¿ô¤¬¤Ä¤¯¤ê½Ð¤µ¤ì¤¿¤È¤­¤ËÍ­¸ú¤Ç¤¢¤Ã¤¿´Ä¶­¤Ç¤¢¤ë¡£ ¤½¤Î´Ä¶­¤ËÉտ路¤Æ¤¤¤¿Á´¤Æ¤Î¥·¥ó¥Ü¥ë¤ÏÊ᪤µ¤ì¡¢´Ø¿ô¤«¤é»ÈÍѲÄǽ¤Ë¤Ê¤ë¡£

¥¯¥í¡¼¥¸¥ã¡¼¥ª¥Ö¥¸¥§¥¯¥È¤Î»°¤Ä¤ÎÉôʬ¤ò formals, body ¤½¤·¤Æ environment ¤òÍѤ¤¤Æ¼è¤ê½Ð¤·¡¢Áàºî¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë (¤Þ¤¿»°¤Ä¤Î¤É¤ì¤â¤¬ÂåÆþ¼°¤Îº¸ÊÕ¹à¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë)¡£ ºÇ¸å¤Î°ì¤Ä¤Ï¤·¤Ð¤·¤ÐÉÔɬÍפʴĶ­¼è¤ê¹þ¤ßÍ×ÁǤò¼è¤ê½ü¤¯¤Î¤Ë»È¤ï¤ì¤ë¡£ as.list ¤È as.function ¤òÍѤ¤¡¢´Ø¿ô¤ò¥ê¥¹¥È¹½Â¤¤Ø¡¢¤½¤·¤Æ¥ê¥¹¥È¹½Â¤¤«¤é´Ø¿ô¤Ø¡¢ ÊÑ´¹¤¹¤ëµ¡Ç½¤¬¤¢¤ë¡£ ¤³¤ì¤é¤Ï S ¤È¤Î¸ß´¹À­¤ò°Ý»ý¤¹¤ë¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤ë¤¬¡¢»È¤ï¤Ê¤¤¤³¤È¤ò´«¤á¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.6 NULL

NULL ¤È¸Æ¤Ð¤ì¤ëÆÃ¼ì¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¡£¤³¤ì¤Ï¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤·¤Ê¤¤¤³¤È¤ò »Ø¼¨¤¹¤ëɬÍפ¬¤¢¤ë¤¿¤Ó¤Ë»È¤ï¤ì¤ë¡£Â¿¤¯¤Î¥ê¥¹¥×¤Î¼ÂÁõ¤Ç¤Ï NULL ¤Ïñ¤ËŤµ¥¼¥í¤Î¥ê¥¹¥È ¤Ç¤¢¤ë¤¬¡¢R ¤Ï Scheme ¤òÌÏÈϤȤ·¤Æ¤¤¤ë¤â¤Î¤Î¤½¤ì¤È¤Ï°Û¤Ê¤Ã¤¿°·¤¤¤¬¤µ¤ì¤Æ¤¤¤ë¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢Ä¹¤µ¥¼¥í¤Î pairlist ¤Ï NULL ¤Ç¤¢¤ë¡£

NULL ¥ª¥Ö¥¸¥§¥¯¥È¤Ï·¿¤âÊѹ¹²Äǽ¤ÊÀ­¼Á¤â»ý¤¿¤Ê¤¤¡£ R ¤Ë¤ÏÍ£°ì¤Ä¤Î NULL ¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ê¡¢¤¹¤Ù¤Æ¤Î¸ÄÊÌÎã¤Ï¤½¤ì¤ò»²¾È¤¹¤ë¡£ NULL ¤Ë°À­¤òÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.7 Áȹþ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ÈÆÃ¼ì·Á¼°

¤³¤ì¤é¤ÎÆó¼ïÎà¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï R ¤ÎÁȹþ¤ß´Ø¿ô¤ò´Þ¤à¡¢¤Ä¤Þ¤ê¡¢ ¤³¤ì¤é¤Ï¥³¡¼¥É¤Î¥ê¥¹¥Æ¥£¥ó¥°¤Ç¤Ï .Primitive ¤Èɽ¼¨¤µ¤ì¤ë¡£ ξ¼Ô¤Î°ã¤¤¤Ï°ú¿ô¤Î½èÍý¤Ë¤¢¤ë¡£ Áȹþ¤ß´Ø¿ô¤Ï¤½¤ÎÁ´¤Æ¤Î°ú¿ô¤òɾ²Á¤·¡¢´ðËÜ´Ø¿ô¤ËÃÍÅϤ·¤Ç°ú¤­ÅϤ¹¡£ ¾Êý¤ÇÆÃ¼ì´Ø¿ô¤Ï̤ɾ²Á¤Îɽ¸½¼°¤òÆâÉô´Ø¿ô¤Ë°ú¤­ÅϤ¹¡£

R ¸À¸ì¤«¤é¸«¤ì¤Ð¡¢¤½¤ì¤é¤ÎÄêµÁ¤¬É½¼¨¤Ç¤­¤Ê¤¤¤³¤È¤ò½ü¤±¤Ð¡¢¤³¤ì¤é¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ïñ¤Ë Ê̼ï¤Î´Ø¿ô¤Ë¤¹¤®¤Ê¤¤¡£typeof ´Ø¿ô¤ò»È¤Ã¤Æ¤³¤ì¤é¤È¥³¡¼¥É²ò¼á·¿´Ø¿ô¤È¤ò¶èÊ̤Ǥ­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.8 Promise ¥ª¥Ö¥¸¥§¥¯¥È

ͽÌó(1) ¥ª¥Ö¥¸¥§¥¯¥È¤Ï R ¤ÎÃÙ±äɾ²Áµ¡¹½¤Î°ìÉô¤Ç¤¢¤ë¡£¤³¤ì¤é¤Ï »°¤Ä¤ÎÃæ¿È¡¢ÃÍ¡¢É½¸½¼°¤½¤·¤Æ´Ä¶­¤ò»ý¤Ä¡£¤â¤·¤¢¤ë´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë¤È¡¢ °ú¿ô¤¬¾È¹ç¤µ¤ì¤½¤·¤Æ·Á¼°Åª°ú¿ô¤Î³Æ¡¹¤¬°ì¤Ä¤ÎͽÌó¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤ë¡£ ¤½¤Î·Á¼°Åª°ú¿ô¤ËÍ¿¤¨¤é¤ì¤¿É½¸½¼°¤È¡¢¤½¤Î´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿´Ä¶­¤Ø¤Î ¥Ý¥¤¥ó¥¿¡¼¤¬¤½¤ÎͽÌó¤ËÊݴɤµ¤ì¤ë¡£

¤½¤Î°ú¿ô¤¬¥¢¥¯¥»¥¹¤µ¤ì¤ë¤Þ¤Ç¡¢¤½¤ÎͽÌó¤Ëȼ¤¦¤¤¤«¤Ê¤ëÃͤ⸺ߤ·¤Ê¤¤¡£ °ú¿ô¤¬¥¢¥¯¥»¥¹¤µ¤ì¤ë¤È¡¢Êݴɤµ¤ì¤¿É½¸½¼°¤¬Êݴɤµ¤ì¤¿´Ä¶­Ãæ¤Çɾ²Á¤µ¤ì¡¢ ¤½¤·¤Æ·ë²Ì¤¬ÊÖ¤µ¤ì¤ë¡£·ë²Ì¤â¤Þ¤¿Í½Ìó¤Ë¤è¤êÊݸ¤µ¤ì¤ë¡£ ¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥Þ¡¼¤ÏͽÌó¤Ëȼ¤¦ÃͤÈɽ¸½¼°¤ÎÁÐÊý¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

R ¸À¸ìÃæ¤Ç¤Ï¡¢Í½Ì󥪥֥¸¥§¥¯¥È¤Ï¤Û¤È¤ó¤É±£Êäµ¤ì¤Æ¤¤¤ë¡£ ¼ÂºÝ¤Î´Ø¿ô°ú¿ô¤Ï¤³¤Î·¿¤Ç¤¢¤ë(¤³¤ì¤¬ÃÙ±äɾ²Áµ¡¹½¤Î³Ë¿´¤Ç¤¢¤ë)¡£ substitute ¤ÏÃæ¿È¤Îɽ¸½¼°ÆâÍÆ¤ò¼è¤ê½Ð¤·¡¢É½¸½¼°¤«¤éͽÌó¤òºî¤ê½Ð¤¹ delay ´Ø¿ô¤¬¤¢¤ë¡£¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬Í½Ìó¤Ç¤ë¤¢¤ë¤«¤É¤¦¤«¸¡ºº¤¹¤ë³Î¼Â¤Ê ÊýË¡¤Ï̵¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.9 ¥É¥Ã¥È

¥É¥Ã¥È¥ª¥Ö¥¸¥§¥¯¥È `...' ¤Ï¥ê¥¹¥È¥¿¥¤¥×¤È¤·¤ÆÊݴɤµ¤ì¤ë¡£ `...' ¤ÎÍ×ÁÇ¤Ï C ¥³¡¼¥É¤«¤éÄ̾ï¤Î¥ê¥¹¥È¤È¤·¤Æ¸Æ¤Ó½Ð¤»¤ë¤¬¡¢ R ¤ÎÆâÉô¤«¤é¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡£¤·¤«¤·¤Ê¤¬¤é¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ï ¥ê¥¹¥È¤È¤·¤ÆÊ᪽ÐÍè¤ë¡£¤·¤¿¤¬¤Ã¤ÆÎ㤨¤Ð table Ãæ¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë»È¤ï¤ì¤Æ¤¤¤ë

 
    args <- list(...)
## ....
    for (a in args) {
## ....

¤â¤·´Ø¿ô¤¬ `...' ¤ò·Á¼°Åª°ú¿ô¤È¤·¤Æ»ý¤Æ¤Ð¡¢·Á¼°Åª°ú¿ô¤È¤·¤Æ¥Þ¥Ã¥Á¤·¤Ê¤¤Á´¤Æ¤Î ¼ÂºÝ¤Î°ú¿ô¤¬ `...' ¤È¥Þ¥Ã¥Á¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.10 ´Ä¶­

´Ä¶­¤ÏÆó¤Ä¤Î¤â¤Î¤«¤é¤Ê¤ë¤È¹Í¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¥Õ¥ì¡¼¥à¡¢¤Ä¤Þ¤ê¥·¥ó¥Ü¥ë¤ÈÃͤÎÂФν¸¤ê¤È¡¢¤½¤ì¤ò¼è¤ê´¬¤¯´Ä¶­¤È¤Ç¤¢¤ë¡£ ¤¢¤ë¥·¥ó¥Ü¥ë¤ÎÃͤ¬É¬Íפˤʤë¤È¡¢¥Õ¥ì¡¼¥à¤¬¸¡ºº¤µ¤ì¡¢¥Þ¥Ã¥Á¤¹¤ë¥·¥ó¥Ü¥ë¤¬¸«ÉÕ¤«¤ë¤È¡¢ ¤½¤ì¤¬ÊÖ¤µ¤ì¤ë¡£¤µ¤â¤Ê¤±¤ì¤Ð¤½¤Î³°Â¦¤Î´Ä¶­¤¬¼¡¤ËÄ´¤Ù¤é¤ì¤ë¡¢Åù¤¬·«¤êÊÖ¤µ¤ì¤ë¡£ ´Ä¶­¤ÏÌÚ¹½Â¤¤òºî¤ê¡¢°ì¤Ä¤Î´Ä¶­¤ÏÊ£¿ô¤Î»Ò´Ä¶­¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢¿Æ¤ÏÍ£°ì¤Ä¤À¤±¤Ç¤¢¤ë¡£

´Ä¶­¤Ï´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç°ÅÌۤΤ¦¤Á¤Ëºî¤ê½Ð¤µ¤ì¤ë¤¬¡¢Ä¾ÀÜ new.env ¤Ë¤è¤êºî¤ê½Ð¤¹¤³¤È¤â¤Ç¤­¤ë¡£ °ì¤Ä¤Î´Ä¶­¤Î¥Õ¥ì¡¼¥à¤ÎÆâÍÆ¤Ï can be accesses and manipulated by get ¤È assign ¤½¤·¤Æ eval ¤È evalq ¤Ë¤è¤ê¥¢¥¯¥»¥¹¤·¡¢Áàºî¤Ç¤­¤ë¡£

¸½ºß¤Î¤È¤³¤í°ì¤Ä¤Î´Ä¶­¤Î¾å°Ì´Ä¶­¤òľÀÜ¥¢¥¯¥»¥¹¤¹¤ëÊýË¡¤Ï̵¤¤¡£

¾¤Î¤¢¤é¤æ¤ë R ¥ª¥Ö¥¸¥§¥¯¥È¤È¤Ï°Û¤Ê¤ê´Ä¶­¤Ï¥³¥Ô¡¼¤Ç¤­¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤â¤·Æ±¤¸´Ä¶­¤ËÊ£¿ô¤Î¥·¥ó¥Ü¥ë¤ò³ä¤êÅö¤Æ¡¢¤½¤Î°ì¤Ä¤òÊѹ¹¤¹¤ë¤È¡¢Â¾¤Î¤â¤Î¤â ÊѤï¤Ã¤Æ¤·¤Þ¤¦¡£ÆÃ¤Ë´Ä¶­¤Ë°À­¤ò³ä¤êÅö¤Æ¤ë¤È¥Ó¥Ã¥¯¥ê¤¹¤ë¤è¤¦¤Ê¤³¤È¤¬µ¯¤­¤ë²ÄǽÀ­¤¬¤¢¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.11 ÂХꥹ¥È¥ª¥Ö¥¸¥§¥¯¥È

ÂХꥹ¥È¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥ê¥¹¥×¤Î¥É¥Ã¥ÈÂХꥹ¥È¤Ë»÷¤ë¡£ ¤³¤ì¤Ï R ¤ÎÆâÉô¤ÇŰÄìŪ¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤¬¡¢¥¤¥ó¥¿¥×¥ê¡¼¥¿¥³¡¼¥É¤Ç¤Ï ¤Û¤È¤ó¤ÉÌܤËÉÕ¤¯¤³¤È¤Ï̵¤¤¡£¤·¤«¤·¤Ê¤¬¤é¤³¤ì¤Ï formals ¤ÎÊÖÃͤǤ¢¤ë¤·¡¢ Î㤨¤Ð pairlist ´Ø¿ô¤Çºî¤ê½Ð¤¹¤³¤È¤â¤Ç¤­¤ë¡£ ¤½¤¦¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î³Æ¡¹¤Ï»°¤Ä¤ÎÃæ¿È¡¢CAR ÃÍ¡¢CDR ÃÍ¡¢¤½¤·¤Æ TAG Ãͤò»ý¤Ä¡£ TAG Ãͤϥƥ­¥¹¥Èʸ»úÎó¤Ç¤¢¤ê¡¢CAR ¤È CDR ¤ÏÉáÄ̤½¤ì¤¾¤ì NULL ¥ª¥Ö¥¸¥§¥¯¥È¤ò½ª·ë»Ò¤Ë»ý¤Ä ¥ê¥¹¥È¤Î¥ê¥¹¥È¹àÌÜ(ÀèÆ¬)¤È¤½¤Î»Ä¤ê(ËöÈø)¤òɽ¤¹(CAR/CDR ¤È¤¤¤¦³µÇ°¤Ï¥ê¥¹¥×¤ËÅÁÅýŪ¤Ê ¤â¤Î¤Ç¤¢¤ê¡¢¤â¤È¤â¤È60ǯÂå½é´ü¤Î IBM ¤Î·×»»µ¡¤Î¥¢¥É¥ì¥¹¤È¸º»»¥ì¥¸¥¹¥¿¡¼¤ò»Ø¤·¤Æ¤¤¤¿)¡£

ÂХꥹ¥È¤Ï R ¸À¸ì¤Ç¤ÏÁí¾Î¥Ù¥¯¥È¥ë ("lists") ¤ÈÁ´¤¯Æ±¤¸¤è¤¦¤Ë°·¤ï¤ì¤ë¡£ ÆÃ¤Ë¡¢Í×ÁÇ¤ÏÆ±¤¸ [[]] ¹½Ê¸¤òÍѤ¤¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤ë¡£ Áí¾ÎŪ¥Ù¥¯¥È¥ë¤Î¤Û¤¦¤¬ÉáÄ̤è¤ê¸úΨŪ¤Ë»È¤¨¤ë¤¿¤á¡¢ÂХꥹ¥È¤Î»ÈÍѤˤϰ۵Á¤¬¾§¤¨¤é¤ì¤Æ¤¤¤ë¡£ ÆâÉôŪ¤ÊÂХꥹ¥È¤¬ R ¤«¤é¥¢¥¯¥»¥¹¤µ¤ì¤ë¤ÈÉáÄ̤½¤ì¤ÏÁí¾ÎŪ¥Ù¥¯¥È¥ë¤Ø¡¢¤½¤·¤ÆÁí¾ÎŪ¥Ù¥¯¥È¥ë ¤«¤é¡¢ÊÑ´¹¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1.12 "any" ·¿

¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬ "Any" ·¿¤Ç¤¢¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¢¤ë¤¬¡¢¤½¤ì¤Ë¤â´Ø¤é¤º¤³¤ì¤Ï ŬÀµ¤Ê·¿ÃͤǤ¢¤ë¡£¤³¤ì¤Ï°¿¤ë¼ï¤Î(¤«¤Ê¤êµ©¤Ê)¾õ¶·¤Ç»È¤ï¤ì¤ë¡£ Îã¤È¤·¤Æ¤Ï as.vector(x, "any") ¤¬¤¢¤ê¡¢·¿¶¯À©ÊÑ´¹¤ò¤¹¤Ù¤­¤Ç¤Ê¤¤¤³¤È¤ò»Ø¼¨¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 °À­

Á´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤½¤ì¤é¤ËÉտ魯¤ë°ì¤Ä¤â¤·¤¯¤ÏÊ£¿ô¤Î°À­¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£ °À­¤Ï¥ê¥¹¥È¤È¤·¤ÆÊݴɤµ¤ì¡¢¤½¤ÎÁ´¤Æ¤ÎÀ®Ê¬¤Ï̾Á°¤ò»ý¤Ä¡£Â°À­¤Î¥ê¥¹¥È¤Ï attributes ¤òÍѤ¤¤ÆÆÀ¤ë¤³¤È¤¬¤Ç¤­¡¢ attributes<- ¤òÍѤ¤¤ÆÀßÄê¤Ç¤­¡¢ ¸Ä¡¹¤ÎÍ×ÁÇ¤Ï attr ¤È attr<- ¤òÍѤ¤¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£

´ö¤Ä¤«¤Î°À­¤ÏÆÃÊ̤ʥ¢¥¯¥»¥¹ÍÑ´Ø¿ô¤ò»ý¤Á(Î㤨¤Ð°ø»ÒÍѤΠlevels<-)¡¢ ¤½¤ì¤é¤ÏÉáÄÌÉÕ²ÃŪ¤ÊÁàºî¤ò¹Ô¤¦¤¿¤áÍøÍѤǤ­¤ë¤Ê¤é»È¤¦¤Ù¤­¤Ç¤¢¤ë¡£ R ¤ÏÆÃ¼ì¤Ê°À­¤¬´Ø·¸¤¹¤ë attr<- ¤È attributes<- ¤Ø¤Î¸Æ¤Ó½Ð¤·¤ò ˵¼õ¤·°ì´ÓÀ­¸¡ºº¤Î¶¯Íפò»î¤ß¤ë¡£

¹ÔÎó¤ÈÇÛÎó¤Ï°À­ dim ¤È¤½¤Î¥Ù¥¯¥È¥ë¤ËÂФ¹¤ë¥ª¥×¥·¥ç¥ó¤Î°À­ dimnames ¤ò »ý¤Äñ¤Ê¤ë¥Ù¥¯¥È¥ë¤Ç¤¢¤ë¡£

°À­¤Ï R ¤Ç»È¤ï¤ì¤ë¥¯¥é¥¹¹½Â¤¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£¤â¤· ¥ª¥Ö¥¸¥§¥¯¥È¤¬ class °À­¤ò»ý¤Æ¤Ð¡¢¤½¤Î°À­¤Ïɾ²Á¤Î²áÄø¤Ç¸¡ºº¤µ¤ì¤ë¡£ R ¤Î¥¯¥é¥¹Â°À­¤Ï 5. ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥° ¤Ç¾Ü¤·¤¯ÀâÌÀ¤µ¤ì¤ë¡£

2.2.1 ̾Á°  
2.2.2 ¼¡¸µ  
2.2.3 ¼¡¸µÌ¾  
2.2.4 ¥¯¥é¥¹  
2.2.5 »þ·ÏÎó°À­  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.1 ̾Á°

names °À­¤Ï¸ºß¤¹¤ì¤Ð¥Ù¥¯¥È¥ë¤â¤·¤¯¤Ï¥ê¥¹¥È¤Î¸Ä¡¹¤ÎÍ×ÁǤΥé¥Ù¥ë¤È¤Ê¤ë¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤¬½ÐÎϤµ¤ì¤ë¤È¤­¤Ï names °À­¤Ï¸ºß¤¹¤ì¤ÐÍ×ÁǤΥé¥Ù¥ë¤È¤·¤Æ»È¤ï¤ì¤ë¡£ names °À­¤Ï¤Þ¤¿Åº»úÁàºî¤Ë¤â»È¤¨¤ë¡¢Î㤨¤Ð quantile(x)["25%"]¡£

̾Á°¤Ï names ¤È names<- ¤ò»È¤Ã¤Æ³ÍÆÀ¤·¤¿¤êÀßÄꤷ¤¿¤ê¤Ç¤­¤ë¡£ ¸å¼Ô¤Ï̾Á°Â°À­¤¬Å¬Àµ¤ÊŤµ¤Î·¿¤ò»ý¤Ä¤«¤É¤¦¤«É¬Íפʰì´ÓÀ­¸¡ºº¤ò¹Ô¤¦¤À¤í¤¦¡£

ÂХꥹ¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¤Ï²¾ÁÛŪ¤Ê names °À­¤¬»È¤ï¤ì¡¢ names °À­¤Ï¼ÂºÝ¤Ï¥ê¥¹¥ÈÀ®Ê¬¤Î¥¿¥°¤«¤é¹½ÃÛ¤µ¤ì¤ë¡£

°ì¼¡¸µ¤ÎÇÛÎó¤ËÂФ·¤Æ¤Ï names °À­¤Ï¼ÂºÝ¤Ï dimnames[[1]] ¤ò»²¾È¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.2 ¼¡¸µ

dim °À­¤ÏÇÛÎó¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£ÇÛÎó¤ÎÃæ¿È¤ÏÎó¼çƳ¤Î½ç½ø¤Ç ¥Ù¥¯¥È¥ë¤ËÊݸ¤µ¤ì¡¢the dim °À­¤ÏÀ°¿ô¤Î¥Ù¥¯¥È¥ë¤ÇÇÛÎó¤ÎÂбþ¤¹¤ëÈϰϤò»ØÄꤹ¤ë¡£ R ¤Ï¥Ù¥¯¥È¥ë¤ÎŤµ¤¬¼¡¸µ¤ÎÀѤǤ¢¤ë¤³¤È¤òÊݾڤ¹¤ë¡£

¥Ù¥¯¥È¥ë¤Ï°ì¼¡¸µ¤ÎÇÛÎó¤Ç¤Ï¤Ê¤¯¡¢¸å¼Ô¤ÏŤµ1¤Î dim °À­¤ò¤â¤Ä°ìÊý¡¢Á°¼Ô¤Ï dim °À­¤ò»ý¤¿¤Ê¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.3 ¼¡¸µÌ¾

ÇÛÎó¤Ïʸ»ú¥Ù¥¯¥È¥ë¤Î¥ê¥¹¥È¤Ç¤¢¤ë dimnames °À­¤òÍѤ¤¤Æ³Æ¼¡¸µ¤Ë̾Á°¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£ dimnames ¥ê¥¹¥È¼«¿È¤â̾Á°¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤â¤·»ý¤Æ¤ÐÇÛÎó¤ò½ÐÎϤ¹¤ë¤È¤­¤Ë ÈϰϤθ«½Ð¤·¤Ë»È¤ï¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.4 ¥¯¥é¥¹

R ¤ÏÀöÎý¤µ¤ì¤¿¥¯¥é¥¹¤Î¥·¥¹¥Æ¥à¤ò»ý¤Ã¤Æ¤ª¤ê¡¢class °À­¤ÇÀ©¸æ¤µ¤ì¤ë¡£ ¤³¤Î°À­¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤¬·Ñ¾µ¤¹¤ë¥¯¥é¥¹¤Î¥ê¥¹¥È¤ò´Þ¤àʸ»ú¥Ù¥¯¥È¥ë¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï R ¤Î "Áí¾ÎŪ¥á¥½¥Ã¥É" µ¡Ç½¤Î´ðÁäò¤«¤¿¤Á¤Å¤¯¤ë¡£

¤³¤Î°À­¤Ï¥æ¡¼¥¶¡¼¤¬À©¸Â̵¤·¤Ë²¾ÁÛŪ¤Ë¥¢¥¯¥»¥¹¤·Áàºî¤Ç¤­¤ë¡£ ¥ª¥Ö¥¸¥§¥¯¥È¤¬¼ÂºÝ¤Ë¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬´üÂÔ¤¹¤ë¤è¤¦¤ÊÀ®Ê¬¤ò»ý¤Ä¤«¤É¤¦¤«¤Î¸¡ºº¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ class °À­¤ÎÊѹ¹¤ÏÃí°Õ¿¼¤¯¹Ô¤ï¤ì¤ë¤Ù¤­¤Ç¤¢¤ê¡¢¤â¤·ÍøÍѤǤ­¤ë¤Ê¤é ¸ÇÍ­¤Î¹½ÃÛ¡¦¶¯À©ÊÑ´¹´Ø¿ô¤ò»È¤¦Êý¤¬¹¥¤Þ¤·¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.5 »þ·ÏÎó°À­

tsp °À­¤Ï»þ·ÏÎó¤Î¥Ñ¥é¥á¡¼¥¿¡¢»ÏÅÀ¡¢½ªÅÀ¡¢¤½¤·¤Æ¼þ´ü¤òÊݴɤ¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£ ¤³¤Î¹½À®¤Ï¼ç¤Ë·îËè¤ä»ÍȾ´üËè¤Î¥Ç¡¼¥¿¤Î¤è¤¦¤Ê¼þ´üŪ¹½Â¤¤ò¤â¤Ä·ÏÎó¤ò°·¤¦¤¿¤á¤Ë»È¤ï¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 ÆÃ¼ì¤ÊÊ£¹ç¥ª¥Ö¥¸¥§¥¯¥È

2.3.1 °ø»Ò  
2.3.2 ¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.1 °ø»Ò

°ø»Ò¤ÏÍ­¸Â¸Ä¤ÎÃͤò»ý¤Ä¹àÌÜ(À­ÊÌ¡¢¼Ò²ñŪ¥¯¥é¥¹Åù)¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£ °ø»Ò¤Ï labels °À­¤È¥¯¥é¥¹ "factor" ¤ò»ý¤Ä¡£¥ª¥×¥·¥ç¥ó¤È¤·¤Æ contrasts °À­¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢¤³¤ì¤Ï°ø»Ò¤¬¥â¥Ç¥ë²½´Ø¿ôÃæ¤Ç»È¤ï¤ì¤ë¤È¤­ ¥Ñ¥é¥á¡¼¥¿²½¤òÀ©¸æ¤¹¤ë¡£

°ø»Ò¤Ï½ã¿è¤Ë¹àÌܤÀ¤±¤Ç¤âÎɤ¯¡¢½ç½øÉÕ¤­¤Î¥«¥Æ¥´¥ê¡¼¤Ç¤âÎɤ¤¡£ ¸å¼Ô¤Ç¤Ï¡¢¤½¤¦¤·¤¿¤â¤Î¤È¤·¤ÆÄêµÁ¤µ¤ì¤ë class ¥Ù¥¯¥È¥ë c("ordered"," factor") ¤ò»ý¤Ä¤Ù¤­¤Ç¤¢¤ë¡£

°ø»Ò¤ÏÉáÄ̼ºݤοå½à¤ò»ØÄꤹ¤ëÀ°¿ôÇÛÎó¤È¡¢¤½¤ÎÀ°¿ô¤ËÂбþ¤¹¤ë̾Á°¤ÎÆó¼¡ÅªÇÛÎó ¤òÍѤ¤¤Æ¼ÂÁõ¤µ¤ì¤ë¡£¤É¤Á¤é¤«¤é¤È¤¤¤¨¤ÐÉÔ¹¬¤Ê¤³¤È¤Ë¡¢¥æ¡¼¥¶¡¼¤Ï¤·¤Ð¤·¤Ð ¤¢¤ë·×»»¤ò¤è¤ê´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¤³¤Î¼ÂÁõ¤òÍøÍѤ¹¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢ ¤³¤ì¤Ï¼ÂÁõ¤ÎÌäÂê¤Ç¤¢¤ê¡¢ R ¤ÎÁ´¤Æ¤Î°Ü¿¢¤Ç¤³¤ì¤¬Àµ¤·¤¤¤³¤È¤¬Êݾڤµ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.2 ¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È

¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¤Ï SAS ¤â¤·¤¯¤Ï SPSS ¤Î¥Ç¡¼¥¿¥»¥Ã¥È¡¢ ¥Ç¡¼¥¿¤Î "ÊÑÎ̤ˤè¤ë¾ì¹çʬ¤±" ¹ÔÎ󡢤ò ¤â¤Ã¤È¤â¿¿»÷¤¿ R ¤Î¹½Â¤¤Ç¤¢¤ë¡£

¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¤Ï¤¹¤Ù¤ÆÆ±¤¸Ä¹¤µ(¹ÔÎó¤Î¾ì¹ç¤Ï¹Ô¿ô)¤Î¥Ù¥¯¥È¥ë¡¢°ø»Ò¡¢¤½¤·¤Æ(Ëô¤Ï) ¹ÔÎó¤Î¥ê¥¹¥È ¤Ç¤¢¤ë¡£²Ã¤¨¤Æ¡¢¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¤Ï°ìÈ̤ËÊÑÎ̤Υé¥Ù¥ë¤Ç¤¢¤ë names °À­¤È ¾ì¹ç¤Î¥é¥Ù¥ë¤Ç¤¢¤ë row.names °À­¤ò»ý¤Ä¡£

¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¤Ï¾¤ÈƱ¤¸Ä¹¤µ¤ò¤â¤Ä¥ê¥¹¥È¤ò´Þ¤ó¤Ç¤âÎɤ¤¡£ ¥ê¥¹¥È¤Ï°Û¤Ê¤Ã¤¿Ä¹¤µ¤ÎÍ×ÁǤò´Þ¤ó¤Ç¤âÎɤ¯¡¢¤½¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ ÉÔ·¤¤¤Î¥Ç¡¼¥¿¹½Â¤¤òÄ󶡤¹¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤½¤¦¤·¤¿¤â¤Î¤È¤·¤Æ¡¢ ¤½¤¦¤·¤¿ÇÛÎó¤ÏÉáÄÌÀµ³Î¤Ë¤Ï½èÍý¤µ¤ì¤Ê¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. ɽ¸½¼°¤Îɾ²Á

¥æ¡¼¥¶¡¼¤¬¥×¥í¥ó¥×¥È¤ËÂФ·¤¢¤ëÌ¿Îá¤ò¥¿¥¤¥×¤¹¤ë(¤â¤·¤¯¤Ïɽ¸½¼°¤¬¥Õ¥¡¥¤¥ë¤«¤éÆÉ¤ß¹þ¤Þ¤ì¤ë)¤È¡¢ ¤½¤ì¤ËÂФ·ºÇ½é¤Ëµ¯¤³¤ë¤³¤È¤Ï¥Ñ¡¼¥µ¡¼¤Ë¤è¤ê¤½¤ÎÌ¿Î᤬ÆâÉôɽ¸½¤ËÊÑ´¹¤µ¤ì¤ë¤³¤È¤Ç¤¢¤ë¡£ ɾ²Áµ¡¹½¤Ï¹½Ê¸²òÀϤµ¤ì¤¿ R ¤Îɽ¸½¼°¤ò¼Â¹Ô¤·¡¢É½¸½¼°¤ÎÃͤòÊÖ¤¹¡£Á´¤Æ¤Îɽ¸½¼°¤Ï Ãͤò»ý¤Ä¡£¤³¤ì¤¬¤³¤Î¸À¸ì¤Î³Ë¤È¤Ê¤ë»ö¼Â¤Ç¤¢¤ë¡£

¤³¤Î¾Ï¤Ï´ðËÜŪ¤Êɾ²Áµ¡¹½¤òÀâÌÀ¤¹¤ë¤¬¡¢¤¢¤È¤ÎÊ̤ξϤÇÀâÌÀ¤µ¤ì¤ë¸Ä¡¹¤Î´Ø¿ô¤ä´Ø¿ô¥°¥ë¡¼¥×¡¢¤½¤·¤Æ ¥Ø¥ë¥×ʸ¾Ï¤¬½½Ê¬¤ÊÀâÌÀ¤ò´Þ¤à¤³¤È¤¬¤é¤ÎµÄÏÀ¤Ï½ü³°¤¹¤ë¡£

¥æ¡¼¥¶¡¼¤Ïɽ¸½¼°¤ò¹½ÃÛ¤·¡¢¤½¤ì¤ËÂФ·É¾²Áµ¡¹½¤òµ¯Æ°¤¹¤ë¡£

3.1 ñ½ã¤Êɾ²Á  
3.2 À©¸æ¹½Â¤  
3.3 ´ðËÜŪ»»½Ñ±é»»  
3.4 ź»úÁàºî  
3.5 ÊÑ¿ô¤Î¥¹¥³¡¼¥×  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 ñ½ã¤Êɾ²Á

3.1.1 Äê¿ô  
3.1.2 ¥·¥ó¥Ü¥ë¾È¹ç  
3.1.3 ´Ø¿ô¸Æ¤Ó½Ð¤·  
3.1.4 ±é»»»Ò  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.1 Äê¿ô

¥×¥í¥ó¥×¥È¤ËľÀÜ¥¿¥¤¥×¤µ¤ì¤¿¤¢¤é¤æ¤ë¿ô¤ÏÄê¿ô¤Ç¤¢¤ê¡¢É¾²Á¤µ¤ì¤ë¡£

 
> 1
[1] 1

Äê¿ô¤ÏÁ´¤¯¤Ä¤Þ¤é¤Ê¤¤¤â¤Î¤Ç¤¢¤ê¡¢¤è¤ê¿¤¯¤Î¤³¤È¤ò¹Ô¤¦¤Ë¤Ï¥·¥ó¥Ü¥ë¤¬É¬Íפˤʤ롣


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.2 ¥·¥ó¥Ü¥ë¾È¹ç

¿·¤·¤¤ÊÑ¿ô¤¬ºî¤ê½Ð¤µ¤ì¤ë¤È¡¢¤½¤ì¤ò»²¾È¤¹¤ë¤¿¤á¤Î̾Á°¤ò»ý¤ÄɬÍפ¬¤¢¤ê¡¢¤½¤ì¤ÏÉáÄ̤¢¤ëÃͤò»ý¤Ä¡£ ̾Á°¤½¤ì¼«ÂΤϥ·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£¤¢¤È¤Ç¥·¥ó¥Ü¥ë¤ËÉտ魯¤ëÃͤò¤É¤Î¤è¤¦¤Ë·è¤á¤ë¤«¤ò¾ÜºÙ¤ËÀâÌÀ¤¹¤ë¡£

°Ê²¼¤Î¾®¤µ¤ÊÎã¤Ç¤Ï y ¤Ï¥·¥ó¥Ü¥ë¤Ç¡¢¤½¤ÎÃÍ¤Ï 4 ¤Ç¤¢¤ë¡£¥·¥ó¥Ü¥ë¤â R ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¤¬¡¢ "¸À¸ì¼«ÂÎ¤Î¥×¥í¥°¥é¥ß¥ó¥°"¤ò¹Ô¤¦¾ì¹ç¤ò½ü¤­¡¢¤Õ¤Ä¤¦¥·¥ó¥Ü¥ë¤ò°·¤¦É¬ÍפϤۤȤó¤É̵¤¤ (6. ¸À¸ì¼«ÂÎ¤Î¥×¥í¥°¥é¥ß¥ó¥°)¡£

 
> y <- 4
> y
[1] 4


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.3 ´Ø¿ô¸Æ¤Ó½Ð¤·

R ¤Ç¹Ô¤ï¤ì¤ë¤Û¤È¤ó¤É¤Î·×»»¤Ï´Ø¿ô¤Îɾ²Á¤ò´Þ¤à¡£ ¤³¤Î¤³¤È¤ò¤Þ¤¿´Ø¿ô¤Î µ¯Æ° ¤È¸Æ¤Ö¤³¤È¤Ë¤¹¤ë¡£ ´Ø¿ô¤Ï¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿°ú¿ô¤Î¥ê¥¹¥È¤ò¤â¤Ä̾Á°¤Çµ¯Æ°¤µ¤ì¤ë¡£

 
> mean(1:10)
[1] 5.5

¤³¤ÎÎã¤Ç¤Ï´Ø¿ô mean ¤¬°ì¤Ä¤Î°ú¿ô¡¢1 ¤«¤é 10 ¤Þ¤Ç¤ÎÀ°¿ô¥Ù¥¯¥È¥ë¡¢¤Çµ¯Æ°¤µ¤ì¤Æ¤¤¤ë¡£

R ¤Ï°Û¤Ê¤Ã¤¿ÌÜŪ¤Î¤¿¤á¤ÎËÄÂç¤Ê´Ø¿ô¤ò´Þ¤à¡£¤½¤Î¿¤¯¤Ï R ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë·ë²Ì¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë »È¤ï¤ì¤ë¤¬¡¢Î㤨¤Ðɽ¼¨¤ä¥×¥í¥Ã¥È´Ø¿ô¤Î¤è¤¦¤Ê¡¢¤½¤ÎÉû¼¡Åª¸ú²Ì¤Î¤¿¤á¤Ë»È¤ï¤ì¤ë¤â¤Î¤â¤¢¤ë¡£

´Ø¿ô¸Æ¤Ó½Ð¤·¤Ï ¥¿¥°ÉÕ¤­ °ú¿ô¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡¢Î㤨¤Ð plot(x, y, pch = 3)¡£ ¥¿¥°Ìµ¤·¤Î°ú¿ô¤Ï´Ø¿ô¤¬¤½¤ì¤é¤Î°ÕÌ£¤ò¸Æ½Ð»þ¤Î°ú¿ô¤Î°ÌÃÖ¤«¤é¶èÊ̤¹¤ë¤¿¤á¤Ë °ÌÃְ͸ ¤È¸Æ¤Ð¤ì¤ë¡£ ¤Ä¤Þ¤ê x ¤Ï¿åÊ¿¼´ºÂɸ¤Ç y ¤Ï¿âľ¼´ºÂɸ¤ò°ÕÌ£¤¹¤ë¡£¥¿¥°¤ÎÍøÍѤϤ¿¤¯¤µ¤ó¤Î¥ª¥×¥·¥ç¥ó°ú¿ô¤ò»ý¤Ä ´Ø¿ô¤ËÂФ·ÌÀÇò¤ÊÊØµ¹¤ò¤â¤¿¤é¤¹¡£

¼¡¤ÎÎã¤Î¤è¤¦¤Ë¡¢ÆÃ¼ì¤Ê¥¿¥¤¥×¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤¬ÂåÆþ±é»»¤Îº¸ÊÕ¹à¤Ë¸½¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

 
> class(x) <- "foo"

¤³¤Î¹½Ê¸¤¬¼ÂºÝ¤Ë¹Ô¤¦¤³¤È¤Ï¡¢´Ø¿ô class<- ¤ò¸µ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È±¦ÊդΤ½¤ì¤È¤Ç¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¤¢¤ë¡£ ¤³¤Î´Ø¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊѹ¹¤ò¹Ô¤¤¡¢·ë²Ì¤òÊÖ¤·¡¢¤½¤ì¤Ï¸µ¤ÎÊÑ¿ô¤ËÊݴɤ·¤Ê¤ª¤µ¤ì¤ë¡£ (¾¯¤Ê¤¯¤È¤â³µÇ°Åª¤Ë¤Ï¤³¤ì¤¬¼ÂºÝ¤Ëµ¯¤³¤ë¤³¤È¤Ç¤¢¤ë¡£ÉÔÍפʥǡ¼¥¿¤Î½ÅÊ£¤òÈò¤±¤ë¤¿¤á¤Ë¤¢¤ëÉÕ²ÃŪ¤Ê ¹©Éפ¬¤µ¤ì¤ë¡£)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.4 ±é»»»Ò

R ¤Ç¤Ï C ¸À¸ì¤ÈÎà»÷¤·¤¿±é»»»Ò¤òÍѤ¤¤¿¿ôÃÍɽ¸½¼°¤Î»ÈÍѤ¬²Äǽ¤Ç¤¢¤ë¡£ Î㤨¤Ð¡¢

 
> 1 + 2
[1] 3

ɽ¸½¼°¤Ï³ç¸Ì¤òÍѤ¤¤¿¥°¥ë¡¼¥×²½¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤Îº®¹ç¡¢ ľÀÜŪ¤Ê¤ä¤êÊý¤Ç¤ÎÊÑ¿ô¤Ø¤ÎÂåÆþ¤¬¤Ç¤­¤ë¡£

 
> y <- 2 * (a + log(x))

R ¤Ï¤¤¤¯¤Ä¤«¤Î±é»»»Ò¤ò»ý¤Ä¡£¤½¤ì¤é¤Ï°Ê²¼¤Îɽ¤Ë¥ê¥¹¥È¤µ¤ì¤ë¡£

- º¹¡¢Ã±¹à±é»»»Ò¤È¤·¤Æ¤âÆó¹à±é»»»Ò¤È¤·¤Æ¤â»È¤¨¤ë
+ Ï¡¢Ã±¹à±é»»»Ò¤È¤·¤Æ¤âÆó¹à±é»»»Ò¤È¤·¤Æ¤â»È¤¨¤ë
! ñ¹à±é»»»Ò¤ÎÈÝÄê
~ ¥Á¥ë¥À¡¢¸ø¼°¤Ç»È¤ï¤ì¡¢Ã±¹à±é»»»Ò¤È¤·¤Æ¤âÆó¹à±é»»»Ò¤È¤·¤Æ¤â»È¤¨¤ë
? ¥Ø¥ë¥×
: ¿ôÎ󡢯ó¹à±é»»»Ò
* Multiplication, Æó¹à±é»»»Ò
/ Division, Æó¹à±é»»»Ò
^ Exponentiation, Æó¹à±é»»»Ò
%x% Special Æó¹à±é»»»Ò operators, x can be replaced by anything
% Modulus, Æó¹à±é»»»Ò
< Less than, Æó¹à±é»»»Ò
> Greater than, Æó¹à±é»»»Ò
== Equal to, Æó¹à±é»»»Ò
>= Greater than or equal to, Æó¹à±é»»»Ò
<= Less than or equal to, Æó¹à±é»»»Ò
& And, Æó¹à±é»»»Ò, ¥Ù¥¯¥È¥ëized
&& And, Æó¹à±é»»»Ò, not ¥Ù¥¯¥È¥ëized
| Or, Æó¹à±é»»»Ò, ¥Ù¥¯¥È¥ëized
|| Or, Æó¹à±é»»»Ò, not ¥Ù¥¯¥È¥ëized
<- Left assignment, Æó¹à±é»»»Ò
_ Left assignment, Æó¹à±é»»»Ò, shouldn't be used
-> Right assignment, Æó¹à±é»»»Ò
$ List subset, Æó¹à±é»»»Ò

¹½Ê¸¤Î°ã¤¤¤òÊ̤ˤ¹¤ì¤Ð¡¢±é»»»Ò¤ÎŬÍѤȴؿô¸Æ½Ð¤·¤Î´Ö¤Ëº¹¤Ï¤Ê¤¤¡£ ¼ÂºÝ x + y ¤Ï "+"(x, y) ¤È½ñ¤¤¤Æ¤âƱ¤¸¤³¤È¤Ç¤¢¤ë¡£ `+' ¤ÏÈóɸ½àŪ¤Ê´Ø¿ô̾¤ò»ý¤Ä¤¿¤á°úÍÑÉä¤Ç°Ï¤à¤³¤È¤¬É¬Íפʤ³¤È¤òÃí°Õ¤·¤è¤¦¡£

R ¤Ï¥Ù¥¯¥È¥ë¤ÎÁ´ÂΤò°ìÅ٤˽èÍý¤Ç¤­¡¢¤Û¤È¤ó¤É¤Î½éÅù۱黻»Ò¤È log ¤È¤¤¤Ã¤¿ ´ðËÜŪ¿ô³Ø´Ø¿ô¤Ï¥Ù¥¯¥È¥ë²½¤µ¤ì¤Æ¤¤¤ë(¾å¤Îɽ¤Î¤è¤¦¤Ë)¡£¤³¤ì¤ÏÎ㤨¤Ð Ʊ¤¸Ä¹¤µ¤Î¥Ù¥¯¥È¥ë¤Î ϤÏÍ×ÁÇËè¤ÎϤò´Þ¤à¥Ù¥¯¥È¥ë¤ò¤Ä¤¯¤ê½Ð¤·¡¢¤½¤ÎºÝ°ÅÌۤΤ¦¤Á¤Ë¥Ù¥¯¥È¥ë¤Îź»ú¤Ë´Ø¤¹¤ë¥ë¡¼¥×Áàºî¤ò ¹Ô¤Ã¤Æ¤¤¤ë¡£¤³¤ì¤Ï -, * ¤½¤·¤Æ / ¤È¤¤¤Ã¤¿±é»»»Ò¤Ç¤â¡¢¤Þ¤¿ ¤è¤ê¹â¼¡¸µ¤Î¹½Â¤¤ËÂФ·¤Æ¤âÀ®¤êΩ¤Ä¡£ÆÃ¤Ë¡¢Æó¤Ä¤Î¹ÔÎó¤ÎÀѤÏÄ̾ï¤Î¹ÔÎóÀѤòÀ¸¤ß½Ð¤µ¤Ê¤¤ (¤³¤Î¤¿¤á¤Ë¤Ï %*% ±é»»»Ò¤¬Â¸ºß¤¹¤ë)¤³¤È¤òÃí°Õ¤·¤è¤¦¡£¥Ù¥¯¥È¥ë²½¤µ¤ì¤¿±é»»»Ò¤Ë ´Ø¤¹¤ë¤è¤ê¾ÜºÙ¤ÊÅÀ¤Ï 3.3 ´ðËÜŪ»»½Ñ±é»» ¤ÇµÄÏÀ¤µ¤ì¤ë¡£

¥Ù¥¯¥È¥ë¤Î¸Ä¡¹¤ÎÍ×ÁǤ˥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¤ÏÉáÄ̹½Ê¸ x[i] ¤ò»È¤¦¡£

 
> x <- rnorm(5)
> x
[1] -0.12526937 -0.27961154 -1.03718717 -0.08156527  1.37167090
> x[2]
[1] -0.2796115

¥ê¥¹¥È¤ÎÀ®Ê¬¤Ë¤Ï x$a ¤ä x[[i]] ¤ò»È¤¦¤³¤È¤¬¤è¤êÉáÄ̤Ǥ¢¤ë¡£

 
> x <- options()
> x$prompt
[1] "> "

ź»úÁàºî¹½Ê¸¤Ï¤Þ¤¿ÂåÆþʸ¤Î±¦ÊÕ¹à¤ËÅо줹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¾¤Î±é»»»Ò¤ÈƱÍͤˡ¢Åº»úÁàºî¤Ï¼ÂºÝ¤Ï´Ø¿ô¤Ç¹Ô¤ï¤ì¡¢"["(x, 2) ¤ò x[2] ¤ÎÂå¤ï¤ê¤Ë»È¤¦¤³¤È¤â¤Ç¤­¤ë¡£

R ¤Îź»úÁàºî¤Ï 3.4 ź»úÁàºî ¤Ç¹¹¤ËÀâÌÀ¤µ¤ì¤ë¿¤¯¤Î¤è¤ê¹âÅÙ¤ÊÆÃħ¤ò»ý¤Ä¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 À©¸æ¹½Â¤

R ¤Ë¤ª¤±¤ë·×»»¤Ï ʸ ¤ò½ç¼¡É¾²Á¤·¤Æ¤¤¤¯¤³¤È¤Ë¤è¤ê¤Ê¤µ¤ì¤ë¡£ x<-1:10 ¤â¤·¤¯¤Ï mean(y) ¤È¤¤¤Ã¤¿Ê¸¤Ï¥»¥ß¥³¥í¥ó¤â¤·¤¯¤Ï¿·¤·¤¤¹Ô¤Ç ¶èÀڤ뤳¤È¤¬¤Ç¤­¤ë¡£ ¹½Ê¸Åª¤Ë´°Á´¤Êʸ¤¬É¾²Áµ¡¹½¤ËÍ¿¤¨¤é¤ì¤ë¤È¡¢¤½¤Îʸ¤Ïɾ²Á¤µ¤ì ÃÍ ¤¬ÊÖ¤µ¤ì¤ë¡£ ʸ¤Îɾ²Á(2) ¤Î·ë²Ì¤Ïʸ¤ÎÃͤȤ·¤Æ»²¾È¤Ç¤­¤ë ¤³¤ÎÃͤϾï¤Ë¥·¥ó¥Ü¥ë¤ËÂåÆþ¤Ç¤­¤ë¡£

¥»¥ß¥³¥í¥ó¤È¿·¤·¤¤¹Ô¤Ï¶¦¤Ëʸ¤Î¶èÀÚ¤ê¤Ë»È¤¨¤ë¡£ ¥»¥ß¥³¥í¥ó¤Ï¾ï¤Ëʸ¤Î½ª¤ê¤ò°ÕÌ£¤¹¤ë¤¬¡¢¿·¤·¤¤¹Ô¤Ïʸ¤Î½ª¤ê¤ò»Ø¼¨¤¹¤ë¤«¤âÃΤì¤Ê¤¤¡£ ¤â¤·¸½ºß¤Îʸ¤¬¹½Ê¸Åª¤Ë´°Á´¤Ç¤Ê¤¤¤È¡¢É¾²Áµ¡¹½¤Ï¿·¤·¤¤¹Ô¤òñ¤Ë̵»ë¤¹¤ë¡£ ¤â¤·¥»¥Ã¥·¥ç¥ó¤¬ÂÐÏÃŪ¤Ê¤é¡¢¥×¥í¥ó¥×¥È¤¬ `>' ¤«¤é `+' ¤ØÂå¤ï¤ë¡£

 
> x <- 0; x + 5
[1] 5
> y <- 1:10
> 1; 2
[1] 1
[1] 2

Ê£¿ô¤Îʸ¤Ï³ç¸Ì `{' ¤È `}' ¤òÍѤ¤¤Æ¥°¥ë¡¼¥×²½¤Ç¤­¤ë¡£ ʸ¤Î¥°¥ë¡¼¥×¤Ï ¥Ö¥í¥Ã¥¯ ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ë¡£Ã±°ì¤Îʸ¤Ï¹½Ê¸Åª¤Ë´°Á´¤Êʸ¤Î ºÇ¸å¤Ë¿·¤·¤¤¹Ô¤¬¥¿¥¤¥×¤µ¤ì¤ë¤Èɾ²Á¤µ¤ì¤ë¡£ ¥Ö¥í¥Ã¥¯¤ÏÊĤ¸³ç¸Ì¤Î¸å¤Ë¿·¤·¤¤¹Ô¤¬ÁÞÆþ¤µ¤ì¤ë¤Þ¤Çɾ²Á¤µ¤ì¤Ê¤¤¡£ ¤³¤ÎÀá¤Î»Ä¤ê¤Ç¤Ï¡¢Ê¸ ¤È¤Ïñ°ì¤Îʸ¤«¥Ö¥í¥Ã¥¯¤ò°ÕÌ£¤¹¤ë¡£

 
> { x <- 0
+ x + 5
+ }
[1] 5

3.2.1 ifʸ  
3.2.2 ·«¤êÊÖ¤·Ê¸  
3.2.4 whileʸ  
3.2.5 for  
3.2.6 switch  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.1 ifʸ

if/else ʸ¤Ï¾ò·ï¤Ë±þ¤¸¤ÆÆó¤Ä¤Îʸ¤òɾ²Á¤¹¤ë¡£ ɾ²Á¤µ¤ì¤ë ¾ò·ï ¤¬¤¢¤ê¡¢¤â¤·¤½¤Î ÃÍ ¤¬ TRUE ¤Ê¤éºÇ½é¤Îʸ¤¬É¾²Á¤µ¤ì¡¢¤µ¤â¤Ê¤±¤ì¤ÐÆó¤ÄÌܤÎʸ¤¬ ɾ²Á¤µ¤ì¤ë¡£ if/else ʸ¤Ï¤½¤ÎÃͤȤ·¤ÆÁªÂò¤µ¤ì¤¿Ê¸¤ÎÃͤòÊÖ¤¹¡£ ·Á¼°Åª¤Ê¹½Ê¸¤Ï

 
if ( statement1 )
    statement2
else
    statement3

ºÇ½é¤Ë statement1 ¤¬É¾²Á¤µ¤ì value1 ¤òÊÖ¤¹¡£¤â¤· value1 ¤¬ÏÀÍýÃÍ¥Ù¥¯¥È¥ë¤Ç¤½¤ÎºÇ½é¤ÎÍ×ÁǤ¬ TRUE ¤Ê¤é statement2 ¤¬É¾²Á¤µ¤ì¤ë¡£¤â¤· value1 ¤ÎºÇ½é¤ÎÍ×ÁǤ¬ FALSE ¤Ê¤é statement3 ¤¬É¾²Á¤µ¤ì¤ë¡£¤â¤· value1 ¤¬ ¿ôÃÍ¥Ù¥¯¥È¥ë¤Ê¤é value1¤ÎºÇ½é¤ÎÍ×ÁǤ¬¥¼¥í¤Ê¤é statement3 ¤¬É¾²Á¤µ¤ì¡¢¤µ¤â¤Ê¤±¤ì¤Ð statement2 ¤¬É¾²Á¤µ¤ì¤ë¡£ value1 ¤ÎºÇ½é¤ÎÍ×ÁǤÀ¤±¤¬»È¤ï¤ì¤ë¡£Â¾¤ÎÁ´¤Æ¤ÎÍ×ÁǤÏ̵»ë¤µ¤ì¤ë¡£ ¤â¤· value1 ¤¬ÏÀÍýÃÍ¡¦¿ôÃͰʳ°¤Î·¿¤ò»ý¤Æ¤Ð¡¢¥¨¥é¡¼¤¬µ¯¤­¤ë¡£

if/else ʸ¤ÏÉé¤Î¿ôÃͤÎÂпô¤ò¼è¤ë¤È¤¤¤Ã¤¿¿ôÃÍŪ¤ÊÌäÂê¤òÈò¤±¤ë¤Î¤Ë »È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£ if/else ʸ¤Ï¾¤Îʸ¤ÈƱ¤¸¤è¤¦¤ËÃͤò»ØÄê¤Ç¤­¤ë¡£ ¼¡¤ÎÆó¤Ä¤ÎÎã¤ÏƱÃͤǤ¢¤ë¡£

 
> if( any(x) <= 0 ) y <- log(1+x) else y <- log(x)
> y <- if( any(x)<= 0 ) log(1+x) else log(x)

else Àá¤Ï̵¤¯¤Æ¤âÎɤ¤¡£Ê¸ if(any(x) <= 0) x <- x[x <= 0] ¤ÏÀµ¤·¤¤¹½Ê¸¤Ç¤¢¤ë¡£¤â¤· if ʸ¤¬¥Ö¥í¥Ã¥¯Ãæ¤Ë̵¤±¤ì¤Ð¡¢ else ¤Ï¡¢¤â¤·¤¢¤ë¤È¤¹¤ì¤Ð¡¢statement1 ¤ÈƱ¤¸¹Ô¾å¤Ë̵¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤µ¤â¤Ê¤±¤ì¤Ð statement1 ¤ÎºÇ¸å¤Ë¤¢¤ë¹Ô´¹¤¨¤Ï¹½Ê¸Åª¤ËÀµ¤·¤¤Ê¸¤ò À¸¤ß½Ð¤·¡¢¤½¤Î¤Þ¤Þɾ²Á¤µ¤ì¤Æ¤·¤Þ¤¦¡£

if/else ʸ¤ÏÆþ¤ì»Ò¤Ë¤Ê¤Ã¤Æ¤âÎɤ¤¡£

 
if ( statement1 )
    statement2
else if ( statement3 )
    statement4
else if ( statement5 )
    statement6
else
    statement8

¶ö¿ôÈÖ¹æ¤Îʸ¤¬É¾²Á¤µ¤ì¡¢·ë²Ì¤ÎÃͤ¬ÊÖ¤µ¤ì¤ë¡£ ¤â¤·¥ª¥×¥·¥ç¥ó¤Î else À᤬¾Êά¤µ¤ì¤ë¡¢Á´¤Æ¤Î´ñ¿ôÈÖ¹æ¤Î À᤬ FALSE ¤Èɾ²Á¤µ¤ì¤ë¤È¡¢¤É¤Îʸ¤âɾ²Á¤µ¤ì¤º NULL ¤¬ÊÖ¤µ¤ì¤ë¡£

´ñ¿ôÈÖ¹æ¤Î statements ¤Ï¤É¤ì¤«¤¬ TRUE ¤Ë¤Ê¤ë¤Þ¤Ç½ç¤Ëɾ²Á¤µ¤ì¡¢ ¤½¤ì¤ËÂбþ¤¹¤ë¶ö¿ôÈÖ¹æ¤Î statement ¤¬É¾²Á¤µ¤ì¤ë¡£¤³¤ÎÎã¤Ç¤Ï statement6 ¤Ï statement1 ¤¬ FALSE¡¢statement3 ¤¬ FALSE¡¢¤½¤·¤Æ statement5 ¤¬ TRUE ¤Î»þ¤À¤±É¾²Á¤µ¤ì¤ë¡£else if Àá¤Î¿ô¤Ï¤É¤ì¤À¤±¤¢¤Ã¤Æ¤âÎɤ¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.2 ·«¤êÊÖ¤·Ê¸

R ¤ÏÌÀ¼¨Åª¤Ê·«¤êÊÖ¤·(3)¤ò¹Ô¤¦»°¤Ä¤Îʸ¤ò»ý¤Ä for¡¢while ¤½¤·¤Æ repeat ʸ¤Ç¤¢¤ë¡£ Æó¤Ä¤ÎÁȹþ¤ß¤Î¹½À®»Ò next ¤È break ¤Ïɾ²Á¤Ë´Ø¤¹¤ëÉÕ²ÃŪ¤ÊÀ©¸æ¤òÍ¿¤¨¤ë¡£ »°¤Ä¤Îʸ¤Î³Æ¡¹¤Ïɾ²Á¤µ¤ì¤¿ºÇ¸å¤Îʸ¤ÎÃͤòÊÖ¤¹¡£ ÉáÄ̤ǤϤʤ¤¤¬¡¢¤³¤ì¤é¤Îʸ¤Î·ë²Ì¤ò¥·¥ó¥Ü¥ë¤ËÂåÆþ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£ R ¤Ï tapply¡¢apply ¤½¤·¤Æ and lapply ¤È¤¤¤Ã¤¿°ÅÌۤ竤êÊÖ¤· ¤Î¤¿¤á¤Î´Ø¿ô¤òÄ󶡤¹¤ë¡£²Ã¤¨¤ÆÂ¿¤¯¤Î±é»»¡¢ÆÃ¤Ë¿ôÃÍŪ¤Ê¤â¤Î¤Ï¡¢¥Ù¥¯¥È¥ë²½¤µ¤ì¤Æ¤ª¤ê¡¢ ·«¤êÊÖ¤·¤ò»È¤¦É¬ÍפÏ̵¤¤¤«¤âÃΤì¤Ê¤¤¡£.

·«¤êÊÖ¤·¤òÌÀ¼¨Åª¤ËÀ©¸æ¤¹¤ë¤Î¤Ë»È¤¨¤ëÆó¤Ä¤Îʸ¤¬¤¢¤ë¡£ break ¤È next ¤Ç¤¢¤ë¡£ break ʸ¤Ï¸½ºß¼Â¹ÔÃæ¤ÎºÇ¤âÆâ°Õ¤Î·«¤êÊÖ¤·¤«¤éÈ´¤±½Ð¤¹¡£ next ʸ¤Ïľ¤Á¤Ë·«¤êÊÖ¤·¤ÎºÇ½é¤ØÀ©¸æ¤ò°Ü¤¹¡£¤½¤ì¤«¤é·«¤êÊÖ¤·¤Î¼¡¤¬(¤â¤·¤½¤ì¤¬¤¢¤ì¤Ð)¼Â¹Ô¤µ¤ì¤ë¡£ ¸½ºß¤Î·«¤êÊÖ¤·¤Î next °Ê¹ß¤Îʸ¤Ïɾ²Á¤µ¤ì¤Ê¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.3 reapetʸ

reapetʸ ¤ÏÆÃ¤ËÃæÃǤ¬Í׵ᤵ¤ì¤ë¤Þ¤ÇËÜÂΤò·«¤êÊÖ¤·É¾²Á¤µ¤»¤ë¡£ ¤³¤ì¤Ï repeat ʸ¤ò»È¤¦¤È²Ì¤Æ¤·¤Ê¤¤·«¤êÊÖ¤·¤ò¹Ô¤¦´í¸±¤¬¤¢¤ë¤³¤È¤ò °ÕÌ£¤·Ãí°Õ¤¬É¬Íפˤʤ뤳¤È¤ò°ÕÌ£¤¹¤ë¡£ repeat¤Ë¤è¤ë·«¤êÊÖ¤·¤Î¹½Ê¸¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£

 
repeat statement

repeat ¤ò»È¤¦¤È¤­¤Ï statement ¤Ï¥Ö¥í¥Ã¥¯Ê¸¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤¢¤ë·×»»¤È¤È¤â¤Ë·«¤êÊÖ¤·¤ÎÃæÃǤθ¡ºº¤¬É¬Íפˤʤꡢ½¾¤Ã¤ÆÉáÄÌÆó¤Ä¤Î ʸ¤¬É¬Íפˤʤ롣


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.4 whileʸ

while ʸ¤Ï repeat ¤Ë¤è¤¯»÷¤Æ¤¤¤ë¡£ while ¤Ë¤è¤ë·«¤êÊÖ¤·¤Î¹½Ê¸¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£

 
while ( statement1 ) statement2

¤³¤³¤Ç statement1 ¤¬É¾²Á¤µ¤ì¡¢¤â¤·¤³¤ì¤ÎÃͤ¬ TRUE ¤Ê¤é statement2 ¤¬¼Â¹Ô¤µ¤ì¤ë¡£¤³¤Î²áÄø¤Ï statement1 ¤Îɾ²Á¤¬ FALSE ¤Ë¤Ê¤ë¤Þ¤Ç³¤¯¡£ ¤â¤· statement2 ¤¬°ìÅÙ¤âɾ²Á¤µ¤ì¤Ê¤¤¤È while ¤Ï NULL ¤òÊÖ¤·¡¢¤µ¤â¤Ê¤±¤ì¤Ð statement2.¤ÎºÇ¸å¤Îɾ²Á¤¬ÃͤȤ·¤ÆÊÖ¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.5 for

for ¤Ë¤è¤ë·«¤êÊÖ¤·¤Î¹½Ê¸¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£

 
for ( name in vector )
   statement1

¤³¤³¤Ç vector ¤Ï¥Ù¥¯¥È¥ë¤Ç¤â¥ê¥¹¥È¤Ç¤âÎɤ¤¡£ vector Ãæ¤Î³ÆÍ×ÁǤËÂФ·¡¢¤½¤ÎÃͤ¬ÊÑ¿ô name ¤ËÀßÄꤵ¤ì statement1 ¤¬É¾²Á¤µ¤ì¤ë¡£Éû¼¡Åª¸ú²Ì¤È¤·¤ÆÊÑ¿ô name ¤Ï·«¤êÊÖ¤·¤¬½ªÎ»¤·¤¿¸å¤â¸³¤·¡¢¤½¤ÎÃͤϷ«¤êÊÖ¤·¤¬É¾²Á¤·¤¿ vector ¤ÎºÇ¸å¤ÎÍ×ÁǤÎÃͤò»ý¤Ä¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.6 switch

µ»½ÑŪ¤Ë¤Ï switch ¤Ïñ¤Ê¤ë°ì¤Ä¤Î´Ø¿ô¤Ç¤¢¤ë¤¬¡¢¤½¤Î¹½Ê¸¤Ï¾¤Î¥×¥í¥°¥é¥à¸À¸ì¤Î À©¸æ¹½Â¤¤Î¤½¤ì¤Ë¶á¤¤¡£

¤½¤Î¹½Ê¸¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£

 
switch (statement, list)

¤³¤³¤Ç list ¤ÎÀ®Ê¬¤Ï̾Á°¤ò»ý¤Ã¤Æ¤âÎɤ¤¡£ºÇ½é¤Ë statement ¤¬É¾²Á¤µ¤ì¤½¤Î·ë²Ì var{value} ¤¬ÆÀ¤é¤ì¤ë¡£¤â¤· value ¤¬ 1 ¤È list ¤ÎŤµ¤Î´Ö¤Î¿ô¤Ç¤¢¤ì¤Ð¡¢Âбþ¤¹¤ë list ¤ÎÀ®Ê¬¤¬É¾²Á¤µ¤ì·ë²Ì¤¬ÊÖ¤µ¤ì¤ë¡£ ¤â¤· value ¤¬Â礭¤¹¤®¤ë¤«¾®¤µ¤¹¤®¤ë¤È NULL ¤¬ÊÖ¤µ¤ì¤ë¡£

 
> x <- 3
> switch(x, 2+2, mean(1:10), rnorm(5))
[1]  2.2903605  2.3271663 -0.7060073  1.3622045 -0.2892720
> switch(2, 2+2, mean(1:10), rnorm(5))
[1] 5.5
> switch(6, 2+2, mean(1:10), rnorm(5))
NULL

¤â¤· value ¤¬Ê¸»ú¥Ù¥¯¥È¥ë¤Ê¤é value ¤ËÀµ³Î¤Ë¾È¹ç¤¹¤ë̾Á°¤ò»ý¤Ä `...' ¤ÎÀ®Ê¬¤¬ÊÖ¤µ¤ì¤ë¡£¤â¤·¤É¤ì¤È¤â°ìÃפ·¤Ê¤±¤ì¤Ð NULL ¤¬ÊÖ¤µ¤ì¤ë¡£

 
> y <- "fruit"
> switch(y, fruit = "banana", vegetable = "broccoli", meat = "beef")
[1] "banana"

switch ¤ÎÉáÄ̤λÈÍÑË¡¤Ï´Ø¿ô¤Î¤¢¤ë°ú¿ô¤Îʸ»úÃͤ˱þ¤¸¤ÆÊ¬´ô½èÍý¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£

 
> centre <- function(x, type) {
+ switch(type,
+        mean = mean(x),
+        median = median(x),
+        trimmed = mean(x, trim = .1))
+ }
> x <- rcauchy(10)
> centre(x, "mean")
[1] 0.8760325
> centre(x, "median")
[1] 0.5360891
> centre(x, "trimmed")
[1] 0.6086504

switch ¤Ïɾ²Á¤µ¤ì¤¿Ê¸¤ÎÃͤ«¡¢¤É¤Îʸ¤âɾ²Á¤µ¤ì¤Ê¤±¤ì¤Ð NULL ¤òÊÖ¤¹¡£

´û¸¤ÎÁªÂò»è¤Î¥ê¥¹¥È¤«¤éÁª¤Ö¤¿¤á¤Ë¤Ï switch ¤Ïɾ²Á¤¹¤Ù¤­¹àÌܤòÁª¤Ö ºÇÎɤÎÊýË¡¤Ç¤Ï̵¤¤¤«¤â¤·¤ì¤Ê¤¤¡£¤·¤Ð¤·¤Ð eval(x[[condition]]) ·Ðͳ¤Ç eval ¤ÈÉôʬ½¸¹ç±é»»»Ò [[ ¤òľÀܻȤ¦Êý¤¬Ë¾¤Þ¤·¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 ´ðËÜŪ»»½Ñ±é»»

3.3.1 ¥ê¥µ¥¤¥¯¥ëµ¬Â§  
3.3.2 ̾Á°¤ÎÅÁÇÅ  
3.3.3 ¼¡¸µÂ°À­  
3.3.4 NA ¤Î½èÍý  

¤³¤ÎÀá¤Ç¤ÏÆó¤Ä¤Î¥Ù¥¯¥È¥ë¤â¤·¤¯¤Ï¹ÔÎó¤ÎϤäÀѤȤ¤¤Ã¤¿´ðËÜŪ¤Ê±é»»¤Ë ŬÍѤµ¤ì¤ëºÙ¤«¤ÊÅÀ¤òµÄÏÀ¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.1 ¥ê¥µ¥¤¥¯¥ëµ¬Â§

¤â¤·°Û¤Ê¤Ã¤¿¿ô¤ÎÍ×ÁǤò»ý¤ÄÆó¤Ä¤Î¹½Â¤¤ÎϤò¼è¤í¤¦¤È¤¹¤ë¤È¡¢ û¤¤Êý¤¬ºÇ¤âŤ¤Êý¤ÎŤµ¤Þ¤Ç¥ê¥µ¥¤¥¯¥ë»ÈÍѤµ¤ì¤ë¡£¤Ä¤Þ¤ê¡¢ Î㤨¤Ð¤â¤· c(1, 2, 3) ¤ò6¤Ä¤ÎÍ×ÁǤΥ٥¯¥È¥ë¤Ë²Ã¤¨¤ë¤È¡¢ ¼ÂºÝ¤Ï c(1, 2, 3, 1, 2, 3) ¤ò²Ã¤¨¤ë¤³¤È¤Ë¤Ê¤ë¡£¤â¤·Ä¹¤¤Êý¤Î ¥Ù¥¯¥È¥ë¤ÎŤµ¤¬Ã»¤¤Êý¤ÎŤµ¤ÎÇÜ¿ô¤Ç¤Ê¤¤¤È¡¢·Ù¹ð¤¬½Ð¤µ¤ì¤ë¡£

°ì¤Ä¤ÎÎã³°¤È¤·¤Æ¥Ù¥¯¥È¥ë¤ò¹ÔÎó¤Ë­¤¹¤È¤­¤Ï¡¢Ä¹¤µ¤¬ÉÔ·¤¤¤Ç¤â ·Ù¹ð¤Ï½Ð¤µ¤ì¤Ê¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.2 ̾Á°¤ÎÅÁÇÅ

̾Á°¤ÎÅÁÇÅ (ºÇ½é¤Î¤â¤Î¤¬¾¡¼Ô¤Ë¤Ê¤ë¡¢¤È»×¤¦¡£¤â¤·¤½¤ì¤¬Ì¾Á°¤ò »ý¤¿¤Ê¤±¤ì¤Ð?? ---- *̾Á°¤ò»ý¤Ä* ºÇ½é¤Î¤â¤Î¤¬¾¡¼Ô¤Ë¤Ê¤ë¡£¥ê¥µ¥¤¥¯¥ëµ¬Â§¤Ï û¤¤Êý¤¬Ì¾Á°¤ò¼º¤¦¤è¤¦¤Ë¤¹¤ë)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.3 ¼¡¸µÂ°À­

(¹ÔÎóÆ±»Î¤ÎϤǤϼ¡¸µ¤¬°ìÃפ¹¤ëɬÍס£¥Ù¥¯¥È¥ë¤È¹ÔÎó¤ÎϤǤϡ¢¥Ù¥¯¥È¥ë¤¬¥ê¥µ¥¤¥¯¥ë »ÈÍѤµ¤ì¡¢¼¡¸µ¤¬Å¬¹ç¤¹¤ë¤«¤É¤¦¤«¸¡ºº¤µ¤ì¡¢¤â¤·Å¬¹ç¤·¤Ê¤±¤ì¤Ð¥¨¥é¡¼¤È¤Ê¤ë)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.4 NA ¤Î½èÍý


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 ź»úÁàºî

R ¤Ë¤Ïź»ú¤ÎÁàºî¤Ë¤è¤ê¸ÄÊ̤ÎÍ×ÁǤ⤷¤¯¤ÏÉôʬ½¸¹ç¤Ë¥¢¥¯¥»¥¹¤¹¤ë ¤³¤È¤òµö¤¹¤¤¤¯¤Ä¤«¤Îµ¡¹½¤¬¤¢¤ë¡£´ðËܤǤ¢¤ë¥Ù¥¯¥È¥ë·¿¤Ç¤Ï i-ÈÖÌܤÎÍ×ÁÇ¤Ï x[i] ¤ÇÆÀ¤é¤ì¤ë¤¬¡¢¤Þ¤¿¥ê¥¹¥È¡¢¹ÔÎ󡢤½¤·¤Æ ¿¼¡¸µÇÛÎó¤âź»úÁàºî¤Ç¤­¤ë¡£Ã±°ì¤ÎÀ°¿ô¤Ë¤è¤ëź»úÁàºî¤Ë²Ã¤¨¤¤¤¯¤Ä¤«¤Î ź»úÁàºî¤¬¤¢¤ë¡£

R ¤Ï»°¤Ä¤Î´ðËÜŪ¤Êź»ú±é»»»Ò¤ò»ý¤Á¡¢¤½¤Î¹½Ê¸¤Ï¼¡¤ÎÎã¤Ç¼¨¤µ¤ì¤ë¡£

 
x[i]
x[i, j]
x[[i]]
x[[i, j]]
x$a
x$"a"

¥Ù¥¯¥È¥ë¤ä¹ÔÎó¤ËÂФ·¤Æ¤Ï [[ ¤Ï¤Û¤È¤ó¤É»È¤ï¤ì¤Ê¤¤¤¬¡¢ ¤³¤ì¤Ï¹½Ê¸Åª¤Ë¤Ï [ ·Á¤È¾¯¤·°ÕÌ£¤¬°Û¤Ê¤ê¡¢names ¤ä dimnames °À­¤ò ¼è¤ê½ü¤¯¡£Â¿¼¡¸µ¤Î¹½Â¤¤òñ°ì¤Îź»ú¤Çź»úÁàºî¤¹¤ëºÝ¡¢ x[[i]] ¤ä x[i] ¤Ï x.¤Î·ÏÎóŪ¤Ë i ÈÖÌܤÎÍ×ÁǤòÊÖ¤¹¡£

¥ê¥¹¥È¤ËÂФ·¤Æ¤Ï¡¢Ã±°ì¤ÎÍ×ÁǤòÁªÂò¤¹¤ë¤Ë¤Ï°ìÈÌ¤Ë [[ ¤ò»È¤¦¤¬¡¢ [ ¤Ç¤Ï¥Ù¥¯¥È¥ë¤Ë¤è¤ëź»ú»ØÄ꤬¤Ç¤­¤ë¡£

$ ¤ò»È¤Ã¤¿·Á¼°¤Ï¥ê¥¹¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·»È¤ï¤ì¤ë¡£ ¤³¤ì¤Ïʸ»úÄ̤ê¤Îʸ»úÎó¤â¤·¤¯¤Ïź»ú¤ò°ÕÌ£¤¹¤ë¥·¥ó¥Ü¥ë¤À¤±¤ò»È¤¦¡£ ¤Ä¤Þ¤ê¡¢Åº»ú¤Ï·×»»¤Ç¤­¤ëÎ̤ǤϤʤ¤¡£Åº»ú¤ò¸«¤¤¤À¤¹¤¿¤á¤Ë¤¢¤ëɽ¸½¼°¤ò ɾ²Á¤¹¤ëɬÍפ¬¤¢¤ì¤Ð x[[expr]] ¤¬»È¤¨¤ë¡£

3.4.1 ¥Ù¥¯¥È¥ë¤Ë¤è¤ëź»úÁàºî  
3.4.2 ¹ÔÎó¤ÈÇÛÎó¤Îź»úÁàºî  
3.4.3 ¾¤Î¹½Â¤¤Îź»úÁàºî  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.1 ¥Ù¥¯¥È¥ë¤Ë¤è¤ëź»úÁàºî

R ¤Ë¤Ï¥Ù¥¯¥È¥ë¤òź»ú¤È¤·¤Æ»È¤¦¤¤¤¯¤Ä¤«¤Î¶¯ÎϤʹ½À®Ë¡¤¬¤¢¤ë¡£ ñ½ã¤Ê¥Ù¥¯¥È¥ë¤Îź»úÁàºî¤òºÇ½é¤ËµÄÏÀ¤·¤è¤¦¡£ ñ½ã¤Î¤¿¤á¤Ëɽ¸½¤Ï x[i] ¤Ç¤¢¤ë¤È¤·¤è¤¦¡£¤½¤¦¤¹¤ë¤È i ¤Î·¿¤Ë±þ¤¸¤Æ °Ê²¼¤Î²ÄǽÀ­¤¬Â¸ºß¤¹¤ë¡£

·ç»ÃÍ(¤Ä¤Þ¤ê NA)¤ò»ý¤Äź»úÁàºî¤Ï NA ¤òÊÖ¤¹¡£ ¤³¤Îµ¬Â§¤ÏÏÀÍýÃÍź»ú»ØÄê¤Î¾ì¹ç¤âŬÍѤµ¤ì¤ë¡£¤Ä¤Þ¤ê¡¢ i Ãæ¤Ë NA ÁªÂò»Ò¤ò»ý¤Ä x ¤ÎÍ×ÁǤϷë²Ì¤Ë´Þ¤Þ¤ì¤ë¤¬¡¢¤½¤ÎÃÍ¤Ï NA ¤Ë¤Ê¤ë¤Ç¤¢¤í¤¦¡£

¤·¤«¤·¤Ê¤¬¤é NA ¤Ë¤Ï°Û¤Ê¤Ã¤¿¥â¡¼¥É¤¬¤¢¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£ ʸ»úÄ̤ê¤ÎÄê¿ô¤Ï¥â¡¼¥É "logical" ¤Ç¤¢¤ë¤¬¡¢¤³¤ì¤Ï¤·¤Ð¤·¤Ð¼«Æ°Åª¤Ë ¾¤Î·¿¤Ë¶¯À©ÊÑ´¹¤µ¤ì¤ë¡£¤³¤ì¤Î°ì¤Ä¤Î¸ú²Ì¤Ï x[NA] ¤Ï x ¤ÈƱ¤¸Ä¹¤µ¤ò»ý¤Ä¤¬ x[c(1, NA)] ¤ÏŤµ 2 ¤ò»ý¤Ä¤³¤È¤Ç¤¢¤ë¡£¤Ê¤¼¤Ê¤éÏÀÍýÃÍź»ú¤ËÂФ¹¤ëµ¬Â§¤¬Á°¼Ô¤ËŬ±þ¤µ¤ì¤ë¤¬¡¢ ¹à¼Ô¤Ç¤ÏÀ°¿ôź»ú¤ËÂФ¹¤ëµ¬Â§¤¬Å¬±þ¤µ¤ì¤ë¤«¤é¤Ç¤¢¤ë¡£

[¤òÍѤ¤¤¿Åº»úÁàºî¤â¤Þ¤¿´ØÏ¢¤¹¤ëÁ´¤Æ¤Î̾Á°Â°À­¤ÎÉôʬ½¸¹ç²½¤ò¼Â¹Ô¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2 ¹ÔÎó¤ÈÇÛÎó¤Îź»úÁàºî

¿¼¡¸µ¹½Â¤¤ÎÉôʬ½¸¹çÃê½Ð¤Ï°ìÈÌŪ¤Ë¡¢names ¤ÎÂå¤ï¤ê¤Ë dimnames ¤ÎÀ®Ê¬¤òÍѤ¤¤¿¡¢ ³ÆÅº»úÊÑ¿ô¤ËÂФ¹¤ë°ì¼¡¸µÅº»úÁàºî¤ÈƱ¤¸µ¬Â§¤Ë½¾¤¦¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤¤¤¯¤Ä¤«¤ÎÆÃ¼ìµ¬Â§¤¬Å¬ÍѤµ¤ì¤ë¡£

ÉáÄÌ¡¢°ì¤Ä¤Î¹½Â¤¤Ï¤½¤Î¼¡¸µ¤ËÂбþ¤¹¤ë¤¤¤¯¤Ä¤«¤Îź»ú¤òÍѤ¤¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤ë¡£ ¤·¤«¤·¤Ê¤¬¤éËôñÆÈ¤Îź»ú¤ò»È¤¦¤³¤È¤â²Äǽ¤Ç¡¢¤½¤Î»þ¤Ï dim ¤È dimnames °À­¤Ï ̵»ë¤µ¤ì¡¢·ë²Ì¤Ï¼ÂºÝ¤Ë¤Ï c(m)[i] ¤Î¤½¤ì¤ÈƱ¤¸¤Ë¤Ê¤ë¡£ m[1] ¤ÏÉáÄÌ m[1, ] ¤â¤·¤¯¤Ï m[, 1] ¤È¤«¤Ê¤ê°ã¤¦¤â¤Î¤Ë¤Ê¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

ź»ú¤Î¹ÔÎó¤òź»ú¤È¤·¤Æ»È¤¦¤³¤È¤â¤Ç¤­¤ë¡£¤³¤Î¾ì¹ç¡¢ ¹ÔÎó¤ÎÎó¿ô¤Ï¹½Â¤¤Î¼¡¸µ¤Î¿ô¤È°ìÃפ¹¤ëɬÍפ¬¤¢¤ê¡¢·ë²Ì¤Ï¹ÔÎó¤ÎÎó¿ô¤òŤµ¤Ë»ý¤Ä ¥Ù¥¯¥È¥ë¤Ë¤Ê¤ë¡£¼¡¤ÎÎã¤ÏÍ×ÁÇ m[1, 1] ¤È m[2, 2] ¤ò°ì²ó¤ÎÁàºî¤Ç¼è¤ê½Ð¤¹¡£

 
> m <- matrix(1:4, 2)
> m
     [,1] [,2]
[1,]    1    3
[2,]    2    4
> i <- matrix(c(1, 1, 2, 2), 2, byrow = TRUE)
> i
     [,1] [,2]
[1,]    1    1
[2,]    2    2
> m[i]
[1] 1 4

ñ°ì¤Îź»ú¤òÍѤ¤¤ë¾ì¹ç¤â¹ÔÎóź»ú¤òÍѤ¤¤ë¾ì¹ç¤â¡¢ names °À­¤¬Â¸ºß¤¹¤ì¤Ð¡¢¹½Â¤¤¬°ì¼¡¸µ¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë»ÈÍѤµ¤ì¤ë¡£ »°¼¡¸µ¹ÔÎ󤫤éÎ㤨¤Ð m[2, , ] ¤òÍѤ¤¤ÆÃ±°ì¤ÎÀÚÊÒ¤òÁª¤Ó½Ð¤¹¾ì¹ç¤Î¤è¤¦¤Ë¡¢ ¤â¤·Åº»úÁàºî¤Ë¤è¤ê·ë²Ì¤¬¤¢¤ëÊý¸þ¤ËŤµ 1 ¤ò»ý¤Ä¤è¤¦¤Ë¤Ê¤ì¤Ð¡¢Âбþ¤¹¤ë¼¡¸µ¤Ï°ìÈ̤˷ë²Ì¤«¤é¼è¤ê½ü¤«¤ì¤ë¡£ ¤â¤·°ì¼¡¸µ¤Î¹½Â¤¤¬·ë²Ì¤È¤·¤ÆÆÀ¤é¤ì¤ì¤Ð¡¢·ë²Ì¤Ï¥Ù¥¯¥È¥ë¤Ë¤Ê¤ë¡£ ¤³¤ì¤Ï¾ì¹ç¤Ë¤è¤ë¤È¹¥¤Þ¤·¤¯¤Ê¤¯¡¢Åº»úÁàºî¤Ë `drop = FALSE' ¤òÉÕ¤±²Ã¤¨¤ì¤Ð̵¸ú¤Ë¤Ç¤­¤ë¡£ ¤³¤ì¤Ï´Ø¿ô [ ¤Ø¤ÎÄɲäΰú¿ô¤Ç¤¢¤ê¡¢Åº»ú¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¤³¤È¤òÃí°Õ¤·¤è¤¦¡£ ½¾¤Ã¤Æ¤¢¤ë¹ÔÎó¤ÎÂè°ì¹Ô¤ò 1 ³Ý¤±¤ë n ¹ÔÎó¤È¤·¤ÆÁªÂò¤¹¤ëÀµ¤·¤¤¤ä¤êÊý¤Ï m[1, , drop=FALSE] ¤È¤Ê¤ë¡£¼¡¸µ¤ò¼è¤êµî¤ëµ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤ò˺¤ì¤ë¤³¤È¤Ï¡¢ ź»ú¤¬»þ¤ª¤ê¡¢¤·¤«¤·°ìÈ̤ˤǤϤʤ¯Ä¹¤µ 1 ¤ò»ý¤Äź»ú¤ò»ý¤Ä°ìÈÌŪ¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Ë¤ª¤±¤ë Îɤ¯¤¢¤ë¼ºÇԤθ¶°ø¤Ë¤Ê¤ë¡£

°ì¼¡¸µ¤ÎÇÛÎó¤Ï dim ¤È dimnames °À­¤ò»ý¤Ä(¤È¤â¤ËŤµ 1)ÅÀ¤Ç¥Ù¥¯¥È¥ë¤È¤Ï °Û¤Ê¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£¤³¤¦¤·¤¿¹½Â¤¤ÏÉôʬ½¸¹ç¼è¤ê½Ð¤·±é»»¤Ç¤ÏÍÆ°×¤ËÆÀ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¬¡¢ ÌÀ¼¨Åª¤Ë¹½À®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ dimnames ¥ê¥¹¥È¤ÎÍ×ÁǤϤ½¤ì¼«¿È̾Á°¤ò¤â¤Ä¤³¤È¤¬¤¢¤ë°ìÊý¡¢ names °À­¤Ï¤½¤¦¤Ç¤Ê¤¤¤¿¤á¡¢¤³¤ì¤Ï»þ¡¹Ìò¤ËΩ¤Ä¡£

m[FALSE, ] ¤Î¤è¤¦¤Ê±é»»¤Ï¼¡¸µ¤¬¥¼¥í¤Î¹½Â¤¤òºî¤ê½Ð¤¹¤³¤È¤¬¤¢¤ë¡£ R ¤Ï¤³¤¦¤·¤¿¾ì¹ç¤òÃí°Õ¿¼¤¯½èÍý¤¹¤ë¤è¤¦¤ËÅØ¤á¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.3 ¾¤Î¹½Â¤¤Îź»úÁàºî

±é»»¤· [ ¤ÏÁí¾ÎŪ¤Ê´Ø¿ô¤Ç¤¢¤ê¡¢¥¯¥é¥¹Ëè¤Ë¥á¥½¥Ã¥É¤ò²Ã¤¨¤ë¤³¤È¤¬¤Ç¤­¡¢ ±é»»¤· $ ¤È [[ ¤âƱÍͤǤ¢¤ë¡£ Ǥ°Õ¤Î¹½Â¤¤ËÂФ·¥æ¡¼¥¶¡¼ÄêµÁ¤Îź»ú±é»»»Ò¤òÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¤½¤¦¤·¤¿´Ø¿ô¡¢Î㤨¤Ð [.foo¡¢¤Ï´ö¤Ä¤«¤Î°ú¿ô¤ò»ý¤Á¡¢¤½¤ÎºÇ½é¤Ï ź»ú½èÍý¤µ¤ì¤ë¹½Â¤¤Ç¤¢¤ê¡¢»Ä¤ê¤Ïź»ú¤Ç¤¢¤ë¡£ $ ¤Î¾ì¹ç¤Ïź»ú°ú¿ô¤Ï x$"abc" ·Á¼°¤ò»È¤¦¾ì¹ç¤â ¥â¡¼¥É "symbol" ¤ò»ý¤Ä¡£

¥æ¡¼¥¶¡¼ÄêµÁ¤Îź»ú±é»»¤ÎºÇ¤â½ÅÍפÊÎã¤Ï¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¤ËÂФ¹¤ë¤â¤Î¤Ç¤¢¤ë¡£ ¤³¤³¤Ç¾Ü¤·¤¯½Ò¤Ù¤ë¤³¤È¤Ï¤·¤Ê¤¤¤¬¡¢¹­¤¤°ÕÌ£¤Ç¡¢´ðËÜŪ¤ËƱ¤¸Ä¹¤µ¤Î¥Ù¥¯¥È¥ë¤«¤é¤Ê¤ë ¥ê¥¹¥È¤Ç¤¢¤ë¹½Â¤¤ËÂФ¹¤ë¹ÔÎóÉ÷¤Îź»úÁàºî¤òÄêµÁ¤Ç¤­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.4 Éôʬ½¸¹ç»ØÄê

(ÌõÃí¡§¤³¤ÎÉôʬ¤Ï̤´°À®)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 ÊÑ¿ô¤Î¥¹¥³¡¼¥×

¤Û¤È¤ó¤ÉÁ´¤Æ¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ï´ö¤Ä¤«¤Î¥¹¥³¡¼¥×µ¬Â§¤ò»ý¤Á¡¢ °Û¤Ê¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È¤¬Æ±¤¸Ì¾Á°¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£ ¤³¤ì¤ÏÎ㤨¤Ð´Ø¿ôÃæ¤Î¶É½êŪ¤ÊÊÑ¿ô¤¬Âç¶ÉŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱ¤¸Ì¾Á°¤ò»ý¤Ä¤³¤È¤ò µö¤¹¡£

R ¤Ï¥Ñ¥¹¥«¥ë¤ÈƱÍÍ ¼­½ñ¼°¥¹¥³¡¼¥×¥â¥Ç¥ë¤ò»ý¤Ä¡£ ¤·¤«¤·¤Ê¤¬¤é R ¤Ï ´Ø¿ô¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì ¤Ç¤¢¤ê ´Ø¿ô¤È¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È¤òưŪ¤Ë¤Ä¤¯¤ê½Ð¤¹¤³¤È¤òµö¤·¡¢¤³¤Î»ö¼Â¤ò È¿±Ç¤·ÄɲÃŪ¤ÊÆÃħ¤ò»ý¤Ä¡£

3.5.1 Âç¶É۴Ķ­  
3.5.2 ¼­½ñ¼°´Ä¶­  
3.5.3 ¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯  
3.5.4 ¸¡º÷¥Ñ¥¹  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5.1 Âç¶É۴Ķ­

Âç¶É۴Ķ­¤Ï¥æ¡¼¥¶¡¼¤Îºî¶È¥¹¥Ú¡¼¥¹¤Î´ðÁäǤ¢¤ë¡£Ì¿Îá¹Ô¤«¤éÂåÆþ±é»»¤òÆþÎϤ¹¤ë¤ÈÂбþ¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ï Âç¶É۴Ķ­¤Ë°¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5.2 ¼­½ñ¼°´Ä¶­

¤¢¤ë´Ø¿ô¤Ø¤ÎÁ´¤Æ¤Î¸Æ½Ð¤Ï´Ø¿ôÃæ¤ÇÀ¸À®¤µ¤ì¤ë¶É½êŪÊÑ¿ô¤ò´Þ¤à ¥Õ¥ì¡¼¥à ¤ò¤Ä¤¯¤ê½Ð¤·¡¢ ¤½¤ì¤«¤é¤¢¤ë´Ä¶­Ãæ¤Çɾ²Á¤µ¤ì¡¢¤³¤ÎÆó¤Ä¤¬Ê»¤»¤Æ¿·¤·¤¤´Ä¶­¤ò¤Ä¤¯¤ê½Ð¤¹¡£

ÍѸì¤ËÃí°Õ¤·¤è¤¦: ¥Õ¥ì¡¼¥à¤È¤ÏÊÑ¿ô¤Î½¸¤Þ¤ê¤Ç¤¢¤ê¡¢´Ä¶­¤È¤Ï Æþ¤ì»Ò¾õ¤Î¥Õ¥ì¡¼¥à¤Ç¤¢¤ë(¤Þ¤¿¤ÏƱ¤¸¤³¤È¤À¤¬: ¤¤¤Á¤Ð¤ó±ü¤Î¥Õ¥ì¡¼¥à¤È¤½¤ì¤ò°Ï¤à´Ä¶­)¡£

´Ä¶­¤ÏÊÑ¿ô¤ËÂåÆþ¤Ç¤­¤ë¤·¡¢Â¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Þ¤á¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤½¤ì¤é¤Ï¤½¤ì¼«¿È¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¤Ê¤¯¡¢ÆÃ¤Ë ÂåÆþ¤Ë¤è¤Ã¤Æ¥³¥Ô¡¼¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£

ÊÄÊñ ("function" ¥â¡¼¥É) ¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤½¤ì¤¬¤½¤ÎÄêµÁ¤Î°ìÉôʬ¤È¤·¤Æ¤Ä¤¯¤ê½Ð¤µ¤ì¤¿ ´Ä¶­¤ò´Þ¤à¡£(´ûÄê¤Ç¤Ï¡£´Ä¶­¤Ï environment<- ¤òÍѤ¤¤ÆÁàºî¤Ç¤­¤ë)¡£ ¤½¤ì¤«¤é´Ø¿ô¤¬Â³¤¤¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¤½¤Îɾ²Á´Ä¶­¤Ï¤½¤ÎÄêµÁ´Ä¶­Ãæ¤ËÆþ¤ì»Ò¤Ë¤Ê¤ë¡£ ¤³¤ì¤Ï¸Æ¤Ó½Ð¤·Â¦¤Î´Ä¶­¤Ç¤¢¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

¤³¤Î¤è¤¦¤Ë¡¢¤¢¤ëÊÑ¿ô¤¬´Ø¿ô¤ÎÆâÉô¤ÇÍ׵ᤵ¤ì¤ë¤È¡¢ ¤½¤ì¤ÏÀ褺ɾ²Á´Ä¶­Ãæ¡¢¼¡¤Ë¤½¤Î³°Â¦¤Î´Ä¶­¡¢¤µ¤é¤Ë¤½¤Î³°Â¦¤Î´Ä¶­¡¢¤È¤¤¤Ã¤¿É÷¤Ëõ¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5.3 ¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯

´Ø¿ô¤¬µ¯Æ°¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢¿·¤·¤¤É¾²Á¥Õ¥ì¡¼¥à¤¬¤Ä¤¯¤ê½Ð¤µ¤ì¤ë¡£ ·×»»²áÄø¤ÎǤ°Õ¤Î»þÅÀ¤Ç¸½ºß³èưŪ¤Ê´Ä¶­¤Ë ¸Æ½Ð¤·¥¹¥¿¥Ã¥¯ ·Ðͳ¤Ç¥×¥í¥°¥é¥à¤Î ¥¢¥¯¥»¥¹¤¬¤¢¤ë¡£ ´Ø¿ô¤¬µ¯Æ°¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢Ê¸Ì®(4)¤È¸Æ¤Ð¤ì¤ëÆÃ¼ì¤Ê¹½Â¤Êª¤¬ÆâÉôŪ¤Ë¤Ä¤¯¤ê½Ð¤µ¤ì¡¢ ʸ̮¤Î¥ê¥¹¥È¤ÎÃÖ¤«¤ì¤ë¡£´Ø¿ô¤¬É¾²Á¤ò½ª¤¨¤ë¤È¡¢¤½¤Îʸ̮¤Ï¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤«¤é¼è¤ê½ü¤«¤ì¤ë¡£

ÊÑ¿ô¤ÎÃͤò¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯·Ðͳ¤ÇÆÀ¤ë¤³¤È¤ÏÉáÄÌÆ°Åª¤Ê¥¹¥³¡¼¥×¤È¸Æ¤Ð¤ì¤ë¡£ ¤³¤ÎºÝ¤¢¤ëÊÑ¿ô¤Ï¤½¤Î(»þ´ÖŪ¤Ë)ľ¶á¤ÎÊÑ¿ô¤ÎÄêµÁ¤Ç·èÄꤵ¤ì¤ë¡£ R ¤Î´ûÄê¤Î¥¹¥³¡¼¥×µ¬Â§¤Ï¼­½ñ¼°¥¹¥³¡¼¥×¤Ç¤¢¤ë¤¬¡¢Æ°Åª¤Ê¥¹¥³¡¼¥×¤¬ËܼÁŪ¤Ê ¾ì¹ç¤¬¤¢¤ë¡£

¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤Ø¤Î¥¢¥¯¥»¥¹¤Ï `sys.' ¤Ç»Ï¤Þ¤ë̾Á°¤ò»ý¤Ä´Ø¿ô¤Î²¤ò Ä̤¸¤ÆÄ󶡤µ¤ì¤ë¡£

sys.call
»ØÄꤵ¤ì¤¿Ê¸Ì®¤ËÂФ¹¤ë¸Æ¤Ó½Ð¤·¤òÆÀ¤ë¡£
sys.frame
»ØÄꤵ¤ì¤¿Ê¸Ì®¤ËÂФ¹¤ëɾ²Á¥Õ¥ì¡¼¥à¤òÆÀ¤ë¡£
sys.nframe
Á´¤Æ¤Î³èưŪ¤Êʸ̮¤ËÂФ¹¤ë´Ä¶­¥Õ¥ì¡¼¥à¤òÆÀ¤ë¡£
sys.function
»ØÄꤵ¤ì¤¿Ê¸Ì®Ãæ¤Çµ¯Æ°¤µ¤ì¤¿´Ø¿ô¤òÆÀ¤ë¡£
sys.parent
¸½ºß¤Î´Ø¿ôµ¯Æ°¤Î¿Æ¤òÆÀ¤ë¡£
sys.calls
Á´¤Æ¤Î³èưŪ¤Êʸ̮¤ËÂФ¹¤ë¸Æ¤Ó½Ð¤·¤òÆÀ¤ë¡£
sys.frames
Á´¤Æ¤Î³èưŪ¤Êʸ̮¤ËÂФ¹¤ëɾ²Á¥Õ¥ì¡¼¥à¤òÆÀ¤ë¡£
sys.parents
Á´¤Æ¤Î³èưŪ¤Êʸ̮¤ËÂФ¹¤ë̾Á°¥é¥Ù¥ë¤òÆÀ¤ë¡£
sys.on.exit
»ØÄꤵ¤ì¤¿Ê¸Ì®¤¬³èÀ­²½¤µ¤ì¤¿»þ¤Ë¼Â¹Ô¤µ¤ì¤ë´Ø¿ô¤òÀßÄꤹ¤ë¡£
sys.status
sys.frames, sys.parents ¤½¤·¤Æ sys.calls ¤Ø¤Î¸Æ¤Ó½Ð¤·¡£
parent.frame
»ØÄꤵ¤ì¤¿¿ÆÊ¸Ì®¤ËÂФ¹¤ëɾ²Á¥Õ¥ì¡¼¥à¤òÆÀ¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5.4 ¸¡º÷¥Ñ¥¹

ɾ²Á´Ä¶­¹½Â¤¤Ë²Ã¤¨¤Æ R ¤Ï¤É¤³¤Ë¤â¸«ÉÕ¤«¤é¤Ê¤¤ÊÑ¿ô¤ò¸¡º÷¤¹¤ë¤¿¤á¤Î´Ä¶­¤Î¸¡º÷¥Ñ¥¹¤ò»ý¤Ä¡£ ¤³¤ì¤ÏÆó¤Ä¤ÎÌÜŪ¤Ë»È¤ï¤ì¤ë: ´Ø¿ô¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÈÉտ魯¤ë¥æ¡¼¥¶¡¼¥Ç¡¼¥¿¤Ç¤¢¤ë¡£

¸¡º÷¥Ñ¥¹¤ÎºÇ½é¤ÎÍ×ÁǤÏÂç¶É۴Ķ­¤ÇºÇ¸å¤Î¤â¤Î¤Ï´ðËܥѥ屡¼¥¸¤Ç¤¢¤ë¡£ ɬÍפ˱þ¤¸ÆÉ¤ß¹þ¤Þ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤ÂåÍý(5)¥ª¥Ö¥¸¥§¥¯¥È¤ò ÊÝ»ý¤¹¤ë¤¿¤á¤Ë Autoloads ´Ä¶­¤È¤¤¤¦¤â¤Î¤¬»È¤ï¤ì¤ë¡£ ¾¤Î´Ä¶­¤Ï attach ¤â¤·¤¯¤Ï library ¤òÍѤ¤¤Æ ¤³¤Î¥Ñ¥¹¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. ´Ø¿ô

4.1 ´Ø¿ô¤ò½ñ¤¯  
4.2 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È  
4.3 ɾ²Á  
4.4 ÊÄÊñ  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 ´Ø¿ô¤ò½ñ¤¯

R ¤Ï¥Ç¡¼¥¿²òÀÏ¤ÎÆ»¶ñ¤È¤·¤ÆÈó¾ï¤ËÍ­ÍѤǤ¢¤êÆÀ¤ë¤¬¡¢Â¿¤¯¤Î¥æ¡¼¥¶¡¼¤Ï ¤¹¤°¤Ë¼«Ê¬¼«¿È¤Î´Ø¿ô¤ò½ñ¤­¤¿¤¯¤Ê¤ë¤Ç¤¢¤í¤¦¡£ ¤³¤ì¤³¤½¤¬ R ¤Î¿¿¤ÎĹ½ê¤Î°ì¤Ä¤Ç¤¢¤ë¡£¥æ¡¼¥¶¡¼¤Ï¤½¤¦¤·¤¿´Ø¿ô¤ò¥×¥í¥°¥é¥à¤Ç¤­¡¢ ¤â¤·¤½¤¦¤·¤¿¤±¤ì¤Ð¥·¥¹¥Æ¥à¥ì¥Ù¥ë¤Î´Ø¿ô¤òºÇ¤âŬÅö¤ÈȽÃǤ·¤¿´Ø¿ô¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

R ¤Ï¤Þ¤¿¥æ¡¼¥¶¡¼¤¬ºî¤Ã¤¿´Ø¿ô¤ËÂФ¹¤ëÀâÌÀ¤òÍÆ°×¤Ë²Ã¤¨¤ë¤³¤È¤¬¤Ç¤­¤ëµ¡Ç½¤òÄ󶡤¹¤ë¡£ See section `Writing R documentation' in Writing R Extensions.

4.1.1 ¹½Ê¸¤ÈÎã  
4.1.2 °ú¿ô  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1.1 ¹½Ê¸¤ÈÎã

´Ø¿ô¤ò½ñ¤¯¹½Ê¸¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë

 
function ( °ú¿ô¥ê¥¹¥È ) ´Ø¿ôËÜÂÎ

´Ø¿ôÀë¸À¤ÎºÇ½ê¤ÎÍ×ÁǤϥ­¡¼¥ï¡¼¥É function ¤Ç¤¢¤ê¡¢¤³¤ì¤Ï R ¤Ë´Ø¿ô¤òºî¤ê½Ð¤·¤¿¤¤¤³¤È¤ò ÃΤ餻¤ë¡£

°ú¿ô¥ê¥¹¥È¤Ï·Á¼°Åª¤Ê°ú¿ô¤ò¥³¥ó¥Þ¤Ç¶èÀڤäÆÊ¤٤¿¥ê¥¹¥È¤Ç¤¢¤ë¡£·Á¼°Åª°ú¿ô¤Ï¥·¥ó¥Ü¥ë¡¢ `symbol = expression' ¤Îʸ¡¢¤Þ¤¿¤ÏÆÃ¼ì·Á¼°Åª°ú¿ô `...' ¤Ç¤¢¤ë¡£

´Ø¿ôËÜÂÎ ¤ÏǤ°Õ¤ÎŬÀµ¤Ê R ɽ¸½¼°¤Ç¤¢¤ë¡£°ìÈ̤ˡ¢ËÜÂΤÏÇȳç¸Ì (`{' ¤È `}') ¤Ç°Ï¤Ã¤¿É½¸½¼°¤Î¥°¥ë¡¼¥×¤Ç¤¢¤ë¡£

ÉáÄÌ´Ø¿ô¤Ï¥·¥ó¥Ü¥ë¤ËÉÕÃͤµ¤ì¤ë¤¬¡¢É¬¤º¤·¤â¤½¤¦¤¹¤ëɬÍפÏ̵¤¤¡£ function ¤Î¸Æ¤Ó½Ð¤·¤Î·ë²Ì¤Ï°ì¤Ä¤Î´Ø¿ô¤Ë¤Ê¤ë¡£¤â¤·¤³¤ì¤¬Ì¾Á°¤òÍ¿¤¨¤é¤ì¤Ê¤±¤ì¤Ð¡¢ ¤½¤ì¤ÏÉáÄÌÆ¿Ì¾´Ø¿ô¤È¸Æ¤Ð¤ì¤ë¡£

¼¡¤Î´Êñ¤Ê´Ø¿ô¤ò¹Í¤¨¤è¤¦: echo <- function(x) print(x). ¤¹¤ë¤È echo ¤Ïñ°ì¤Î°ú¿ô¤ò¼è¤ë´Ø¿ô¤Ç¤¢¤ê¡¢echo ¤ò¸Æ¤Ó½Ð¤¹¤È¤½¤Î°ú¿ô¤ò°õ»ú¤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1.2 °ú¿ô

´Ø¿ô¤Î·Á¼°Åª°ú¿ô¤Ï¡¢´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¤È¤­¤Ë¤½¤ÎÃͤ¬Êä¤ï¤ì¤ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡£ ¤³¤¦¤·¤¿°ú¿ô¤Î̾Á°¤Ï´Ø¿ôËÜÂÎÃæ¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¡¢´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¤È¤­¤Ë Êä¤ï¤ì¤ëÃͤò¼è¤ë¡£

°ú¿ô¤Î´ûÄêÃͤòÆÃ¼ì¤Ê·Á¼° `name = expression' ¤Ç»ØÄê¤Ç¤­¤ë¡£ ¤³¤Î¾ì¹ç¡¢¤â¤·¥æ¡¼¥¶¡¼¤¬´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎºÝ¤ËÃͤò»ØÄꤷ¤Ê¤±¤ì¤Ð¡¢¤³¤Îɽ¸½¤¬ Âбþ¤¹¤ë¥·¥ó¥Ü¥ë¤ËÍ¿¤¨¤é¤ì¤ë¡£¤â¤·Ãͤ¬É¬Íפʤé expression ¤¬´Ø¿ô¤Îɾ²Á¥Õ¥ì¡¼¥à Ãæ¤Çɾ²Á¤µ¤ì¤ë¡£

´ûÄêÃͤϤޤ¿´Ø¿ô missing ¤òÍѤ¤¤Æ»ØÄê¤Ç¤­¤ë¡£missing ¤¬¤¢¤ë°ú¿ô̾¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢ ¤â¤·¥æ¡¼¥¶¡¼¤¬¤½¤Î°ú¿ô¤ËÃͤòÍ¿¤¨¤Æ¤¤¤Ê¤±¤ì¤Ð TRUE ¤òÊÖ¤·¡¢¤µ¤â¤Ê¤±¤ì¤Ð FALSE ¤òÊÖ¤¹¡£missing ¤Î¸Æ¤Ó½Ð¤·¤Ï°ú¿ô¤Îɾ²Á¤ò¹Ô¤ï¤Ê¤¤¡£

ÆÃ¼ì¤Ê¥¿¥¤¥×¤Î°ú¿ô¤Ç¤¢¤ë `...' ¤ÏÍ¿¤¨¤é¤ì¤¿Ç¤°Õ¤Î¿ô¤Î°ú¿ô¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤ì¤Ï¿§¡¹¤ÊÌÜŪ¤Î¤¿¤á¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£Ç¤°Õ¸Ä¿ô¤Î°ú¿ô¤ò¼è¤ë´Ø¿ô¤ò½ñ¤¯¤Î¤Ë »È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£Ãæ´ÖŪ¤Ê´Ø¿ô¤Ø¤Î¤¤¤¯¤Ä¤«¤Î°ú¿ô¤òµÛ¼ý¤·¡¢¤½¤ì¤«¤é¸å¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë ´Ø¿ô¤Ë¤è¤Ã¤Æ¼è¤ê½Ð¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È

R ¤Ç¤Ï´Ø¿ô¤Ï»°¤Ä¤ÎÉôʬ¤«¤éÀ®¤ë¤È¹Í¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ´Ø¿ôËÜÂΡ¢·Á¼°Åª°ú¿ô ¤½¤·¤Æ ´Ä¶­ ¤Ç¤¢¤ë¡£

´Ø¿ôËÜÂÎ ¤Ï´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¤È¤­É¾²Á¤µ¤ì¤ëɽ¸½¼°¤Ç¤¢¤ë¡£ ·Á¼°Åª°ú¿ô ¤Ï¥æ¡¼¥¶¡¼¤¬Ê䤦Ãͤȴؿô¤ÎËÜÂΤ˸½¤ì¤ë¥·¥ó¥Ü¥ë¤â¤·¤¯¤Ï ̾Á°¤È¤Î´Ö¤ÎÂбþ¤òÍ¿¤¨¤ë¡£ºÇ¸å¤Ë ´Ä¶­ ¤Ï´Ø¿ô¤¬ºî¤ê½Ð¤µ¤ì¤¿¤È¤­³èưŪ¤À¤Ã¤¿´Ä¶­ ¤Ç¤¢¤ë¡£¤³¤Î´Ä¶­¤Ï(ŬÀڤ˽üµî¤µ¤ì¤Ê¤¤¸Â¤ê)´Ø¿ô¤¬Â¸ºß¤¹¤ë¸Â¤ê´Ø¿ô¤ËÏ¢·¸¤·¤Æ¤¤¤ë¡£

´Ø¿ô¤Ï R ¤ÎÂè°ìµé¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¡£¤³¤ì¤Ï´ðËÜŪ¤Ë ¥ª¥Ö¥¸¥§¥¯¥È¤¬É¬ÍפȤµ¤ì¤ë¤¢¤é¤æ¤ë¾ì½ê¤ËÅоì¤Ç¤­¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ÆÃ¤Ë¡¢ ´Ø¿ô¤Î°ú¿ô¤È¤·¤ÆÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¤·¡¢´Ø¿ô¤ÎÊÖÃͤȤ·¤ÆÊÖ¤¹¤³¤È¤¬¤Ç¤­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 ɾ²Á

4.3.1 ɾ²Á´Ä¶­  
4.3.2 °ú¿ô¾È¹ç  
4.3.3 °ú¿ôɾ²Á  
4.3.4 ¥¹¥³¡¼¥×  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3.1 ɾ²Á´Ä¶­

´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¿·¤·¤¤É¾²Á¥Õ¥ì¡¼¥à¤¬ºî¤ê½Ð¤µ¤ì¤ë¡£ ¤³¤Î¥Õ¥ì¡¼¥àÃæ¤Ç·Á¼°Åª°ú¿ô¤Ï 4.3.2 °ú¿ô¾È¹ç Ãæ¤ÇÍ¿¤¨¤é¤ì¤¿µ¬Â§¤Ë½¾¤¤ Êä¤ï¤ì¤¿ÃͤȾȹ礵¤ì¤ë¡£´Ø¿ô¤ÎËÜÂÎÃæ¤Îʸ¤Ï¤½¤ì¤«¤é¤³¤Î´Ä¶­¥Õ¥ì¡¼¥àÃæ¤Çɾ²Á¤µ¤ì¤ë¡£

ɾ²Á¥Õ¥ì¡¼¥à¤Î¿Æ¤â¤·¤¯¤ÏÊú¹ç¥Õ¥ì¡¼¥à¤È¤Ïµ¯Æ°¤µ¤ì¤¿´Ø¿ô¤ËÏ¢·¸¤¹¤ë´Ä¶­¥Õ¥ì¡¼¥à¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï S ¤È¤Ï°ã¤Ã¤¿¤â¤Î¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¡£¤Û¤È¤ó¤É¤Î´Ø¿ô¤Ï¿Æ¤È¤·¤Æ .GlobalEnv ¤ò»ý¤Ä¤¬¡¢ ¤¤¤Ä¤Ç¤â¤½¤¦¤Ê¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3.2 °ú¿ô¾È¹ç

´Ø¿ô¤Îɾ²Á¤ÇºÇ½é¤Ëµ¯¤³¤ë¤³¤È¤Ï·Á¼°Åª°ú¿ô¤È¡¢¼ÂºÝ¤â¤·¤¯¤ÏÊä¤ï¤ì¤¿°ú¿ô¤È¤Î ¾È¹ç¤Ç¤¢¤ë¡£¤³¤ì¤Ï»°Ãʳ¬¤Î²áÄø¤Ç¹Ô¤ï¤ì¤ë¡£

  1. ¥¿¥°¤Ë´Ø¤¹¤ëÀµ³Î¤Ê¾È¹ç¡£ ³ÆÌ¾Á°ÉÕ¤­¤Î°ú¿ô¤ËÂФ·¡¢·Á¼°Åª°ú¿ôÃæ¤Î̾Á°¤¬Àµ³Î¤Ë°ìÃפ¹¤ë¹àÌܤ¬ õ¤µ¤ì¤ë¡£Æ±¤¸·Á¼°Åª°ú¿ô¤¬Ê£¿ô¤Î¼ÂºÝ¤Î°ú¿ô¤Ë°ìÃפ¹¤ë¡¢¤â¤·¤¯¤Ï¤½¤ÎµÕ¤Ï¥¨¥é¡¼¤È¤Ê¤ë¡£

  2. ¥¿¥°¤Ë´Ø¤¹¤ëÉôʬŪ¤Ê¾È¹ç¡£ ³ÆÌ¾Á°ÉÕ¤­¤Î°ú¿ô¤¬»Ä¤ê¤Î·Á¼°Åª°ú¿ô¤ËÂФ·ÉôʬŪ¾È¹ç¤Ë¤è¤êÈæ³Ó¤µ¤ì¤ë¡£ ¤â¤··Á¼°Åª°ú¿ô¤¬Àµ³Î¤Ë¤¢¤ë·Á¼°Åª°ú¿ô¤ÎºÇ½é¤ÎÉôʬ¤Ë°ìÃפ¹¤ì¤Ð¡¢ ξ¼Ô¤Ï°ìÃפ¹¤ë¤È¸«¤Ê¤µ¤ì¤ë¡£Ê£¿ô¤ÎÉôʬŪ°ìÃפϥ¨¥é¡¼¤Ë¤Ê¤ë¡£ ¤â¤· f <- function(fumble,fooey) fbody ¤Ê¤é¤Ð f(f = 1, fo = 2) ¤Ï Æó¤ÄÌܤμºݤΰú¿ô¤À¤±¤¬ fooey ¤Ë°ìÃפ¹¤ë¤â¤Î¤ÎÉÔÀµ¤Ë¤Ê¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£ ¤·¤«¤·¤Ê¤¬¤é f(f = 1, fooey =2) ¤ÏÂèÆó¤Î°ú¿ô¤¬Àµ³Î¤Ë°ìÃפ·¡¢ÉôʬŪ¾È¹ç¤Î Âоݤ«¤é³°¤µ¤ì¤ë¤¿¤áÀµ¤·¤¤¹½Ê¸¤Ë¤Ê¤ë¡£ ¤â¤··Á¼°Åª°ú¿ô¤¬ `...' ¤ò´Þ¤á¤Ð¡¢ÉôʬŪ¾È¹ç¤Ï¤½¤ì¤ËÀèΩ¤Ä°ú¿ô¤ËÂФ·¤Æ¤À¤±¤Î ŬÍѤµ¤ì¤ë¡£

  3. °ÌÃ֤˴ؤ¹¤ë¾È¹ç¡£ ̤¾È¹ç¤ÎÁ´¤Æ¤Î·Á¼°Åª°ú¿ô¤Ï¶¤Î½ç¤Ë ̾Á°Ìµ¤·¤Î °ú¿ô¤È·ë¤Ó¤Ä¤±¤é¤ì¤ë¡£ ¤â¤· `...' °ú¿ô¤¬¤¢¤ì¤Ð¡¢»Ä¤ê¤Î°ú¿ô¤ò̾Á°¤Î̵ͭ¤Ë¤«¤«¤ï¤é¤º°ú¤­¼õ¤±¤ë¡£

°ì¤Ä¤Ç¤â̤¾È¹ç¤Î°ú¿ô¤¬¤¢¤ì¤Ð¥¨¥é¡¼¤¬Àë¸À¤µ¤ì¤ë¡£

°ú¿ô¾È¹ç¤Ï´Ø¿ô match.arg, match.call ¤½¤·¤Æ match.fun ¤Ë¤è¤ê²þÁ±¤µ¤ì¤ë¡£ R ¤¬ÍѤ¤¤ëÉôʬŪ¾È¹ç¥¢¥ë¥´¥ê¥º¥à¤Ø¤Ï pmatch ·Ðͳ¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3.3 °ú¿ôɾ²Á

´Ø¿ô¤Ø¤Î°ú¿ô¤Îɾ²Á¤Ë´Ø¤·¤ÆÃΤäƤª¤¯¤Ù¤­ºÇ¤â½ÅÍפÊÅÀ¤Ï¡¢ Ãͤ¬Ä󶡤µ¤ì¤¿°ú¿ô¤È´ûÄêÃͰú¿ô¤¬°Û¤Ê¤Ã¤Æ°·¤ï¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£ ´Ø¿ô¤Ø¤ÎÃÍÊä½¼°ú¿ô¤Ï¸Æ¤Ó½Ð¤·´Ø¿ô¤Îɾ²Á¥Õ¥ì¡¼¥à¤Çɾ²Á¤µ¤ì¤ë¡£ ´ûÄêÃͰú¿ô¤Ï´Ø¿ô¤Îɾ²Á¥Õ¥ì¡¼¥à¤Çɾ²Á¤µ¤ì¤ë¡£

R ¤Ç¤Î´Ø¿ôµ¯Æ°¤Ï ÃÍÅϤ· ¤Ç¹Ô¤ï¤ì¤ë¡£°ìÈ̤ËÊä¤ï¤ì¤¿°ú¿ô¤Ï Í¿¤¨¤é¤ì¤¿ÃͤÈÂбþ¤¹¤ë·Á¼°Åª°ú¿ô̾¤Ç½é´ü²½¤µ¤ì¤¿ÊÑ¿ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë¿¶Éñ¤¦¡£ Êä¤ï¤ì¤¿°ú¿ô¤ÎÃͤò´Ø¿ôÆâ¤ÇÊѤ¨¤Æ¤â¸Æ¤Ó½Ð¤·¥Õ¥ì¡¼¥àÃæ¤ÎÊÑ¿ô¤ÎÃͤÏÊѤï¤é¤Ê¤¤¡£

R ¤Ï°ì¼ï¤Î´Ø¿ô°ú¿ô¤ÎÃÙ±äɾ²Á¤ò»ý¤Ä¡£°ú¿ô¤ÏɬÍפˤʤë¤Þ¤Çɾ²Á¤µ¤ì¤Ê¤¤¡£ ¾ì¹ç¤Ë¤è¤ë¤È°ú¿ô¤Ï·è¤·¤ÆÉ¾²Á¤µ¤ì¤Ê¤¤¤³¤È¤òÃΤ뤳¤È¤Ï½ÅÍפǤ¢¤ë¡£ ½¾¤Ã¤Æ¡¢´Ø¿ô¤Ø¤Î°ú¿ô¤ò°¿¤ë¼ï¤ÎÉûºîÍѤòµ¯¤³¤¹¤¿¤á¤Ë»È¤¦¤³¤È¤Ï¹¥¤Þ¤·¤¯¤Ê¤¤ ¤ä¤êÊý¤Ç¤¢¤ë¡£C ¤Î¤è¤¦¤Ê¸À¸ì¤Ç¤Ï foo(x = y) ¤È¤¤¤Ã¤¿·Á¼°¤ò °ú¿ô foo ¤òÃÍ y ¤Çµ¯Æ°¤¹¤ë¤ÈƱ»þ¤Ë y ¤ÎÃͤò x ¤ËÂåÆþ¤¹¤ë¤¿¤á¤Ë »È¤¦¤³¤È¤ÏÉáÄ̤Ǥ¢¤ë¤¬¡¢R ¤Ç¤Ï¤³¤ì¤Ï¤³¤Î°ú¿ô¤¬É¬¤ºÉ¾²Á¤µ¤ì¤ëÊݾڤ¬Ìµ¤¯¡¢½¾¤Ã¤Æ ÂåÆþ¤¬¹Ô¤ï¤ì¤Ê¤¤¤«¤âÃΤì¤Ê¤¤¤¿¤á¤¿¤á»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

¤Þ¤¿°ú¿ô¤¬É¾²Á¤µ¤ì¤¿ºÝ¤Î foo(x <- y) ¤Î¸ú²Ì¤Ï x ¤ÎÃͤò¸Æ¤Ó½Ð¤·´Ä¶­¤ÇÊѹ¹¤¹¤ë¤³¤È¤Ç¤¢¤ê foo ¤Îɾ²Á´Ä¶­¤Ç¤Ç¤Ï¤Ê¤¤¤³¤È¤ò Ãí°Õ¤·¤è¤¦¡£

´Ø¿ô¤ÎÆâÉô¤Ç°ú¿ô¤È¤·¤Æ»È¤ï¤ì¤ë¼ÂºÝ¤Îɽ¸½¼°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤Îµ¡¹½¤ÏͽÌó¤òÍѤ¤¤Æ¹Ô¤ï¤ì¤ë¡£Í½Ìó ¤Ï¥æ¡¼¥¶¡¼¤¬ÍøÍÑÉÔ²Äǽ¤Ê R ¤Î¥Ç¡¼¥¿¹½Â¤¤Ç¤¢¤ë¡£¤·¤«¤·¤Ê¤¬¤é ͽÌó ¤¬¤É¤Î¤è¤¦¤Ëưºî¤¹¤ë¤Î¤«¤òÃΤ뤳¤È¤Ï ¤è¤êÎɤ¤¥³¡¼¥É¤ò½ñ¤¯½õ¤±¤Ë¤Ê¤ë¡£¤¢¤ë´Ø¿ô¤¬É¾²Á¤µ¤ì¤Æ¤¤¤ëºÝ¡¢°ú¿ô¤È¤·¤Æ¼ÂºÝ¤Ë »È¤ï¤ì¤Æ¤¤¤ëɽ¸½¼°¤ÏͽÌóÃæ¤ËÊݴɤµ¤ì¡¢Æ±»þ¤Ë´Ø¿ô¤¬¤½¤³¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿ ´Ä¶­¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤âÊݴɤµ¤ì¤ë¡£°ú¿ô¤¬(¤â¤·)ɾ²Á¤µ¤ì¤ë¤Ê¤é¤Ð¡¢Êݴɤµ¤ì¤¿ ɽ¸½¼°¤Ï´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿´Ä¶­¤Çɾ²Á¤µ¤ì¤ë¡£´Ä¶­¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤À¤±¤¬»È¤ï¤ì¤ë¤¿¤á ¤½¤Î´Ä¶­¤Ø¤Î¤¢¤é¤æ¤ëÊѹ¹¤Ï¤³¤Îɾ²Á¤Î´ÖÍ­¸ú¤Ë¤Ê¤ë¡£·ë²Ì¤ÎÃͤϤ½¤ì¤«¤é¤Þ¤¿ ͽÌó Ãæ¤ÎÊ̤ξì½ê¤ËÊݴɤµ¤ì¤ë¡£¤½¤ì°Ê¹ß¤Îɾ²Á¤Ï¤³¤ÎÊݴɤµ¤ì¤¿Ãͤò¸¡º÷¤·¤Æ¤¯¤ë (ÆóÅÙÌܤÎɾ²Á¤Ï¹Ô¤ï¤ì¤Ê¤¤)¡£Ì¤É¾²Á¤Îɽ¸½¼°¤Ø¤Î¥¢¥¯¥»¥¹(ÆâÉô¥³¡¼¥É¤Ç)¤â¤Þ¤¿²Äǽ¤Ç¤¢¤ë¡£ R ¤ÏÈó¾ï¤Ë½ÀÆð¤Ê¥×¥í¥°¥é¥à¤Ç¤¢¤ë¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¸À¸ìÃæ¤ÇͽÌó¤Ë½Ð¤¯¤ï¤¹ ²ÄǽÀ­¤¬¤¢¤ë¡£¤·¤«¤·¥æ¡¼¥¶¡¼¤Ï¼«Ê¬¼«¿È¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¤½¤ì¤é¤òÅö¤Æ¤Ë¤·¤Ê¤¤¤Û¤¦¤¬Îɤ¤¡£

¤¢¤ë´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢³Æ·Á¼°Åª°ú¿ô¤Ï¸Æ¤Ó½Ð¤·¤Î¶É½ê´Ä¶­Ãæ¤ÇͽÌó¤ò³ä¤êÅö¤Æ¤é¤ì¡¢ ¤½¤Îɽ¸½¼°¥¹¥í¥Ã¥È¤Ï¼ÂºÝ¤Î°ú¿ô¤ò´Þ¤ß¡¢´Ä¶­¥¹¥í¥Ã¥È¤Ï¿Æ´Ä¶­¤ò´Þ¤à¡£ ¸Æ¤Ó½Ð¤·¤Ë¤ª¤¤¤Æ·Á¼°Åª°ú¿ô¤Ø¼ÂºÝ¤Î°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤º¡¢´ûÄêɽ¸½¼°¤¬ ¸ºß¤¹¤ë¤È¡¢¤½¤ì¤¬Æ±Íͤ˷Á¼°Åª°ú¿ô¤Î·Á¼°Åª°ú¿ô¤Î¥¹¥í¥Ã¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë¤¬¡¢ ¤½¤Î´Ä¶­¤Ï¶É½ê´Ä¶­¤ËÀßÄꤵ¤ì¤ë¡£

ͽÌó ´Ä¶­Ãæ¤Îɽ¸½¼°¥¹¥í¥Ã¥È¤ÎÆâÍÆ¤òɾ²Á¤¹¤ë¤³¤È¤Ë¤è¤êͽÌó¤ÎÃÍ¥¹¥í¥Ã¥È¤ò Ëä¤á¤ë²áÄø¤ÏͽÌó¤Î ¶¯À©¼¹¹Ô ¤È¸Æ¤Ð¤ì¤ë¡£

ͽÌó¤Ï¤½¤ÎÃͤ¬É¬Íפˤʤë¤È¶¯À©¼¹¹Ô¤µ¤ì¤ë¡£¤³¤ì¤ÏÉáÄÌÆâÉô´Ø¿ô¤ÎÆâ¦¤Ç¹Ô¤ï¤ì¤ë¤¬¡¢ ͽÌó¤Ï¤Þ¤¿Í½Ì󼫿ȤÎľÀÜŪ¤Êɾ²Á¤Ç¤â¶¯À©¼¹¹Ô¤µ¤ì¤ë¡£¤³¤ì¤Ï´ûÄê¤Îɽ¸½¼°¤¬Â¾¤Î°ú¿ô¤ÎÃÍ¤Ë °Í¸¤¹¤ë¾ì¹ç¤Ë»þ¤ª¤êÍ­ÍѤˤʤ롣 ¤³¤Î¤³¤È¤Ï¼¡¤ÎÎã¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¡¢¤½¤³¤Ç¤Ï¸ÉΩ¤·¤¿ label ¤È¤¤¤¦Ê¸¤¬ ¤½¤ì¤¬É½¸½¼°°ú¿ô¤Ë´ð¤Å¤¯¤³¤È¤òÌÀ¤é¤«¤Ë¤·¤Æ¤¤¤ë¡£

 
function(x, label = deparse(x)) {
    label
    x <- x + 1
    print(label)
}

ͽÌó¤Îɽ¸½¼°¥¹¥í¥Ã¥È¤Ï¤½¤ì¼«¿È¾¤ÎͽÌó¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤ì¤Ï̤ɾ²Á¤Î°ú¿ô¤¬Â¾¤Î´Ø¿ô¤Î°ú¿ô¤È¤·¤Æ°ú¤­ÅϤµ¤ì¤¿Ëè¤Ëµ¯¤³¤ë¡£ ͽÌó¤ò¶¯À©Ä§¼ý¤¹¤ëºÝ¤Ë¤Ï¡¢¤½¤Îɽ¸½¼°Ãæ¤Î¾¤ÎÁ´¤Æ¤ÎͽÌó¤Ï¤Þ¤¿ºÆµ¢Åª¤Ë ¶¯À©¼¹¹Ô¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3.4 ¥¹¥³¡¼¥×

¥¹¥³¡¼¥×¤â¤·¤¯¤Ï¥¹¥³¡¼¥×µ¬Â§¤Ïñ¤Ë¤¢¤ë¥·¥ó¥Ü¥ë¤ÎÃͤò¸«½Ð¤¹¤¿¤á¤Ë ɾ²Á»Ò¤¬ÍѤ¤¤ë°ì·²¤Îµ¬Â§¤Ç¤¢¤ë¡£¤¹¤Ù¤Æ¤Î·×»»µ¡¸À¸ì¤Ï¤½¤¦¤·¤¿µ¬Â§¤ò »ý¤Ä¡£R ¤Ç¤Ï¤³¤¦¤·¤¿µ¬Â§¤Ï¤«¤Ê¤êñ½ç¤Ç¤¢¤ë¤¬¡¢Ä̾ï¤â¤·¤¯¤Ï´ûÄê¤Î µ¬Â§¤òÃÖ¤­´¹¤¨¤ëµ¡¹½¤¬Â¸ºß¤¹¤ë¡£

R ¤Ï ¼­½ñ¼°¥¹¥³¡¼¥× ¤È¸Æ¤Ð¤ì¤ëµ¬Â§¤ò¸Ç¼é¤¹¤ë¡£ ¤³¤ì¤Ïɽ¸½¼°¤¬ºî¤ê½Ð¤µ¤ì¤¿¤È¤­¤ËÍ­¸ú¤Ç¤¢¤Ã¤¿ÊÑ¿ô¤Î«Çû¤¬ ɽ¸½¼°Ãæ¤ÎÁ´¤Æ¤Î̤¹´Â«¤Î¥·¥ó¥Ü¥ë¤ÎÃͤòÄ󶡤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë ¤³¤È¤ò°ÕÌ£¤¹¤ë¡£

¥¹¥³¡¼¥×¤Î¤Û¤È¤ó¤É¤Î¶½Ì£¤¢¤ëÀ­¼Á¤Ï´Ø¿ô¤Îɾ²Á¤Ë´Ø·¸¤¹¤ë¤Î¤Ç¡¢ º¡¤ÎÅÀ¤Ë¾ÇÅÀ¤ò¤·¤Ü¤ë¡£¤¢¤ë¥·¥ó¥Ü¥ë¤Ï¹´Â«¤µ¤ì¤Æ¤¤¤ë¤«Ì¤¹´Â«¤«¤Î ¤É¤Á¤é¤«¤Ç¤¢¤ë¡£´Ø¿ô¤ÎÁ´¤Æ¤Î·Á¼°Åª°ú¿ô¤Ï´Ø¿ôËÜÂÎÃæ¤Î¹´Â«ÊÑ¿ô¤ò Ä󶡤¹¤ë¡£´Ø¿ôËÜÂΤξ¤ÎÁ´¤Æ¤Î¥·¥ó¥Ü¥ë¤Ï¶É½êÊÑ¿ô¤«¤Þ¤¿¤Ï ̤¹´Â«ÊÑ¿ô¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¡£¶É½êÊÑ¿ô¤Ï´Ø¿ôÃæ¤ÇÄêµÁ¤µ¤ì¤¿ÊÑ¿ô¤Ç¤¢¤ë¡£ R ¤ÏÊÑ¿ô¤Î¸ø¼°¤ÊÄêµÁ¤ò»ý¤¿¤º¡¢Ã±¤ËɬÍפ˱þ¤¸¤Æ»È¤ï¤ì¤ë¤¿¤á¡¢ ¤¢¤ëÊÑ¿ô¤¬¶É½êŪ¤«¤É¤¦¤«¤ò·èÄꤹ¤ë¤Î¤Ïº¤Æñ¤Ç¤¢¤ë¡£ ¶É½êÊÑ¿ô¤¬ºÇ½é¤ËÄêµÁ¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ê¡¢¤³¤ì¤Ïŵ·¿Åª¤Ë¤Ï¤½¤ì¤òÉÕÃÍʸ¤Î º¸ÊÕ¹à¤ËÃÖ¤¯¤³¤È¤Ç¤Ê¤µ¤ì¤ë¡£

ɾ²Á¤Î²áÄø¤Ç̤¹´Â«¤Î¥·¥ó¥Ü¥ë¤¬¸¡½Ð¤µ¤ì¤ë¤È R ¤Ï¤½¤ÎÃͤò¸«ÉÕ¤±¤è¤¦¤È¤¹¤ë¡£ ¥¹¥³¡¼¥×µ¬Â§¤Ï¤³¤Î²áÄø¤¬¤É¤Î¤è¤¦¤Ë¿Ê¹Ô¤¹¤ë¤«¤ò·è¤á¤ë¡£ R ¤Ç¤Ï´Ø¿ô¤Î´Ä¶­¤¬ºÇ½é¤Ë¸¡º÷¤µ¤ì¡¢¤½¤ì¤«¤éÀèÆ¬´Ä¶­¤Ë»ê¤ë¤Þ¤Ç¡¢¤½¤Î¿Æ¤«¤é¿Æ¤Ø¤È ¸¡º÷¤¬Â³¤¯¡£

ÀèÆ¬´Ä¶­¤Ï¥·¥ó¥Ü¥ë¤Ë´Ø¤¹¤ë¸¡º÷¤¬¹Ô¤ï¤ì¤ë´Ä¶­¤Î¸¡º÷¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¤½¤¦¤·¤ÆºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿Ãͤ¬»È¤ï¤ì¤ë¡£

¤³¤Îµ¬Â§½¸¤¬¡¢´Ø¿ô¤Ï¾¤Î´Ø¿ô¤ÎÊÖ¤êÃͤˤʤêÆÀ¤ë¤È¤¤¤¦»ö¼Â¤È·ë¤ÓÉÕ¤¯¤È¡¢ ¤«¤Ê¤êÁÇÀ²¤·¤¤¡¢¤·¤«¤·°ì¸«¤¹¤ë¤È´ñ̯¤Ê¡¢À­¼Á¤¬ÆÀ¤é¤ì¤ë¡£

´Êñ¤ÊÎã¤ò¤¢¤²¤ë¡§

 
f <- function(x) {
    y <- 10
    g <- function(x) x + y
    return(g)
}
h <- f()
h(3)

¤«¤Ê¤ê¶½Ì£¤¢¤ëÌäÂê¤Ï h ¤¬É¾²Á¤µ¤ì¤ë¤È¤­²¿¤¬µ¯¤­¤ë¤Î¤«¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£ ¤³¤ì¤òÀâÌÀ¤¹¤ë¤¿¤á¤Ë¤Ï¤â¤¦¾¯¤·ÍѸ줬ɬÍפˤʤ롣´Ø¿ôËÜÂΤǤÏÊÑ¿ô¤Ï¹´Â«¡¢¶É½ê¡¢ ̤¹´Â«¤Î¾õÂÖ¤ò¼è¤êÆÀ¤ë¡£¹´Â«ÊÑ¿ô¤Ï´Ø¿ô¤Î·Á¼°Åª°ú¿ô¤Ë°ìÃפ¹¤ëÊÑ¿ô¤Ç¤¢¤ë¡£ ¶É½êÊÑ¿ô¤Ï´Ø¿ôËÜÂÎÃæ¤ÇÀ¸À®¤â¤·¤¯¤ÏÄêµÁ¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¡£ ´Ø¿ôËÜÂΤ¬É¾²Á¤µ¤ì¤ë¤È¤­¡¢¶É½ê¤Þ¤¿¤Ï¹´Â«ÊÑ¿ô¤ÎÃͤò·èÄꤹ¤ë¤³¤È¤Ë¤Ïº¤Æñ¤Ï̵¤¤¡£ ¥¹¥³¡¼¥×µ¬Â§¤Ï̤¹´Â«ÊÑ¿ô¤ÎÃͤò¤É¤Î¤è¤¦¤Ë¸«½Ð¤¹¤«¤ò·èÄꤹ¤ë¡£

h(3) ¤¬É¾²Á¤µ¤ì¤ëºÝ¡¢¤½¤ÎËÜÂΤ¬ g ¤Î¤½¤ì¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ë¡£. ¤½¤ÎËÜÂÎÃæ¤Ç¤Ï x ¤È y ¤Ï̤¹´Â«¤Ç¤¢¤ë¡£¼­½ñ¼°¥¹¥³¡¼¥×¤ò»ý¤Ä¸À¸ì¤Ç¤Ï x ¤ÏÃÍ 3 ¤Ë¡¢y ¤ÏÃÍ 10 ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¡¢¤·¤¿¤¬¤Ã¤Æ h() ¤ÏÃÍ 13 ¤òÊÖ¤¹¤Ï¤º¤Ç¤¢¤ë¡£¤³¤ì¤¬¼ÂºÝ R ¤Çµ¯¤³¤ë¤³¤È¤Ç¤¢¤ë¡£

S ¤Ç¤Ï°Û¤Ê¤Ã¤¿¥¹¥³¡¼¥×µ¬Â§¤¬»È¤ï¤ì¤Æ¤ª¤ê¡¢ÊÑ¿ô y ¤¬ºî¶È¥¹¥Ú¡¼¥¹¤Ë¤¢¤ê¡¢ ɬÍפʤ餽¤ÎÃͤ¬»È¤ï¤ì¤ë¤Ï¤º¤Ê¤Î¤Ë y ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤È¤¤¤¦¥¨¥é¡¼¤¬À¸¤¸¤ë¡£

S ¤Î¥¹¥³¡¼¥×µ¬Â§¤Ï¤Þ¤º¸½ºß¤Î¥Õ¥ì¡¼¥à¤òõ¤·¡¢¤½¤ì¤«¤éÂç¶É۴Ķ­¤Þ¤¿¤Ïºî¶È¥¹¥Ú¡¼¥¹¤ò õ¤¹¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£¤³¤Îµ¬Â§¤Ï C ¸À¸ì¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤â¤Î¤ÈÂçÊÑÎɤ¯»÷¤Æ¤¤¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 ÊÄÊñ

ÊÄÊñ ¤È¤Ï´Ø¿ô¤È¤½¤Î³Æ¼«Í³ÊÑ¿ô¤ËÂФ¹¤ë¹´Â«¤òÄ󶡤¹¤ë´Ä¶­¤ò°ì½ï¤Ë¹Í¤¨¤¿¤â¤Î¤Ç¤¢¤ë¡£ ¿¤¯¤Î R ¤Î´Ø¿ô¤Ï´Ä¶­¤È·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¤¿¤á¤Ë¡¢¤·¤Ð¤·¤ÐÊÄÊñ¤È¸Æ¤Ð¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°

¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤ÏºÇ¶á¿Íµ¤¤Î¥×¥í¥°¥é¥à¥¹¥¿¥¤¥ë¤Ç¤¢¤ë¡£ ¤½¤Î¿Íµ¤¤Î¿¤¯¤ÏÊ£»¨¤Ê¥·¥¹¥Æ¥à¤ò½ñ¤­¤½¤·¤ÆÊݼ餹¤ë¤³¤È¤¬Íưפˤʤë¤È¤¤¤¦ »ö¼Â¤«¤é¤­¤Æ¤¤¤ë¡£¤³¤ì¤Ï´ö¤Ä¤«¤Î°Û¤Ê¤Ã¤¿µ¡¹½¤Ë¤è¤Ã¤Æ¤Ê¤µ¤ì¤ë¡£

¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¸À¸ì¤Î³Ë¿´¤Ï¥¯¥é¥¹¤È¥á¥½¥Ã¥É¤Î³µÇ°¤Ç¤¢¤ë¡£ ¥¯¥é¥¹ ¤È¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄêµÁ¤Ç¤¢¤ë¡£Åµ·¿Åª¤Ë¤Ï ¥¯¥é¥¹¤Ï´ö¤Ä¤«¤Î¥¯¥é¥¹¸ÇÍ­¤Î¾ðÊó¤ò»ý¤Ä¤¿¤á¤Ë»È¤ï¤ì¤ë ¥¹¥í¥Ã¥È ¤ò»ý¤Ä¡£ ¸À¸ìÃæ¤Î¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤¢¤ë¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¥×¥í¥°¥é¥ß¥ó¥°¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤â¤·¤¯¤Ï¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤ë¡£

·×»»¤Ï ¥á¥Ã¥½¥É ¤òÍøÍѤ·¤Æ¹Ô¤ï¤ì¤ë¡£¥á¥½¥Ã¥É¤Ï´ðËÜŪ¤Ë¤Ï´Ø¿ô¤Ç¤¢¤ê¡¢ÉáÄÌÆÃÄê¤Î ¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ëÆÃÄê¤Î·×»»¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÆÃ¼ì²½¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¤³¤È¤¬¸À¸ì¤ò¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤È¸Æ¤ÖÍýͳ¤Ç¤¢¤ë¡£R ¤Ç¤Ï Áí¾ÎŪ´Ø¿ô ¤¬Å¬ÀÚ¤Ê ¥á¥½¥Ã¥É¤ò·èÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£Áí¾ÎŪ´Ø¿ô¤Ï¤½¤Î°ú¿ô¤Î¥¯¥é¥¹¤ò·è¤á¡¢¤³¤Î¾ðÊó¤ò ŬÀڤʥ᥽¥Ã¥É¤òÁª¤Ö¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£

¿¤¯¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¸À¸ì¤Î¤â¤¦°ì¤Ä¤ÎÆÃĹ¤Ï·Ñ¾µ¤Î³µÇ°¤Ç¤¢¤ë¡£ ¿¤¯¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤ÏÉáÄ̤ª¸ß¤¤¤Ë´ØÏ¢¤·¤¢¤Ã¤¿Â¿¤¯¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬ ¸ºß¤¹¤ë¡£¤â¤·´ö¤Ä¤«¤ÎÀ®Ê¬¤¬ºÆ»ÈÍѤǤ­¤ì¤Ð¥×¥í¥°¥é¥ß¥ó¥°¤ÏÈôÌöŪ¤Ëñ½ç²½¤Ç¤­¤ë¡£

¤¢¤ë¥¯¥é¥¹¤¬Â¾¤Î¥¯¥é¥¹¤ò·Ñ¾µ¤¹¤ì¤Ð¡¢¤½¤ì¤ÏÉáÄ̿ƥ¯¥é¥¹¤ÎÁ´¤Æ¤Î¥¹¥í¥Ã¥È¤ò ¼õ¤±·Ñ¤®¡¢¿·¤·¤¤¥¹¥í¥Ã¥È¤ò²Ã¤¨¤ë¤³¤È¤Ë¤è¤ê¤½¤ì¤ò³ÈÄ¥¤Ç¤­¤ë¡£ ¥á¥Ã¥½¥É¤Î¼Â¹Ô(Áí¾ÎŪ´Ø¿ô·Ðͳ¤Ç)¤Ë¤ª¤¤¤Æ¡¢¤â¤·¤½¤Î¥¯¥é¥¹¤ËÂФ¹¤ë¥á¥Ã¥½¥É¤¬ ¸ºß¤·¤Ê¤±¤ì¤Ð¿Æ¤Î¥á¥½¥Ã¥É¤¬ÍѤ¤¤é¤ì¤ë¡£

¤³¤Î¾Ï¤Ç¤Ï¤³¤Î°ìÈÌŪ¤ÊÀïά¤¬¤É¤Î¤è¤¦¤Ë R ¤Ç¼Â¸½¤µ¤ì¤Æ¤¤¤ë¤«¤È¡¢ ¸½ºß¤Î¥Ç¥¶¥¤¥ó¤Ë¤ª¤±¤ë´ö¤Ä¤«¤ÎÀ©¸Â¤ËÉÕ¤¤¤Æ¤ËµÄÏÀ¤¹¤ë¡£ ¥ª¥Ö¥¸¥§¥¯¥È¥·¥¹¥Æ¥à¤¬»ý¤ÄÍøÅÀ¤Î°ì¤Ä¤Ï¤è¤êÂ礭¤Ê°ì´ÓÀ­¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¥³¥ó¥Ñ¥¤¥é¡¼¤â¤·¤¯¤Ï¥¤¥ó¥¿¥×¥ê¥¿¡¼¤¬¹Ô¤¦¸¡ºº¤Îµ¬Â§¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ë¡£ ÉÔ¹¬¤Ë¤â¥ª¥Ö¥¸¥§¥¯¥È¥·¥¹¥Æ¥à¤¬ R ¤Ë°Ü¿¢¤µ¤ì¤Æ¤¤¤ë»ÅÁȤߤ«¤é¤³¤ÎÍøÅÀ¤Ï ÆÀ¤é¤ì¤Ê¤¤¡£¥æ¡¼¥¶¡¼¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥·¥¹¥Æ¥à¤òÃí°Õ¤·¤ÆÄ¾ÀܻȤï¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¡£¤«¤Ê¤ê¶½Ì£¿¼¤¤´ö¤Ä¤«¤Î·ÝÅö¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤¬¡¢ ¤³¤ì¤ÏÉÔÌÀÎÆ¤Ê¥³¡¼¥É¤òÀ¸¤ß¤ä¤¹¤¯¡¢É¬¤º¤·¤â¼Â¸½¤µ¤ì¤Æ¤¤¤Ê¤¤°Ü¿¢¤Î¾ÜºÙ¤Ë°Í¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¡£

R ¤Ë¤ª¤±¤ë¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤ÎºÇÂç¤ÎÍøÍÑ¤Ï print ¥á¥Ã¥½¥É¡¢summary ¥á¥½¥Ã¥É¡¢¤½¤·¤Æ plot ¥á¥½¥Ã¥É¤ò Ä̤¸¤ÆÆÀ¤é¤ì¤ë¡£¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤ÏÁí¾ÎŪ¤Ê´Ø¿ô¸Æ¤Ó½Ð¤·¡¢Î㤨¤Ð plot¡¢ ¤òÍøÍѤ¹¤ë¤³¤È¤ò²Äǽ¤Ë¤·¡¢¤³¤ì¤Ï¤½¤Î°ú¿ô¤Î·¿¤Ë´ð¤Å¤¤¤Æ¼êÇÛ¤ò¹Ô¤¤¡¢Ä󶡤µ¤ì¤¿¥Ç¡¼¥¿¤Ë¸ÇÍ­¤Î ¥×¥í¥Ã¥È´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¡£

³µÇ°¤òÌÀÎÆ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢³ØÀ¸¤Ë³ÎΨ¤ËÉÕ¤¤¤Æ¶µ¤¨¤ë¤¿¤á¤Ë¥Ç¥¶¥¤¥ó¤µ¤ì¤¿¾®¤µ¤Ê ¥·¥¹¥Æ¥à¤Î°Ü¿¢¤ò¹Í¤¨¤Æ¤ß¤è¤¦¡£ ¤³¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤Ï³ÎΨ´Ø¿ô¤Ç¤¢¤ê¡¢¹Íθ¤¹¤ë¥á¥½¥Ã¥É¤Ï ¥â¡¼¥á¥ó¥È¤ò¸«½Ð¤¹¤³¤È¤È¥×¥í¥Ã¥È¤Ç¤¢¤ë¡£ ³ÎΨ¤Ï¾ï¤ËÎßÀÑʬÉÛ´Ø¿ô¤Î¸ÀÍÕ¤Çɽ¸½¤Ç¤­¤ë¤¬¡¢¤·¤Ð¤·¤Ð¾¤ÎÊýË¡¤Ç¤âɽ¸½¤Ç¤­¤ë¡£ Î㤨¤Ð¸ºß¤¹¤ì¤ÐÌ©Åٴؿô¡¢¤â¤·¤¯¤Ï¥â¡¼¥á¥ó¥ÈÊì´Ø¿ô¤Ç¤¢¤ë¡£

(ÌõÃí¡§¤³¤Î¹à̤´°À®)

5.1 ÄêµÁ  
5.2 ¥°¥ë¡¼¥×¥á¥Ã¥½¥É  
5.3 ¥á¥Ã¥½¥É¤ò½ñ¤¯  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1 ÄêµÁ

´°Á´¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥·¥¹¥Æ¥à¤ÎÂå¤ï¤ê¤Ë R ¤Ï¥¯¥é¥¹¥·¥¹¥Æ¥à¤È ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤Ë´ð¤Å¤¯¥á¥Ã¥½¥É»ØÌ¾(6) ¤Îµ¡¹½¤ò»ý¤Ä¡£¥¤¥ó¥¿¡¼¥×¥ê¥¿¥³¡¼¥É¤ËÂФ¹¤ë»ØÌ¾µ¡¹½¤Ïɾ²Á¥Õ¥ì¡¼¥à¤ËÊݴɤµ¤ì¤¿»Í¤Ä¤Î ÆÃ¼ì¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ë°Í¸¤¹¤ë¡£¤³¤ì¤é¤ÎÆÃ¼ì¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ï .Generic, .Class, .Method ¤½¤·¤Æ .Group ¤Ç¤¢¤ë¡£¤É¤³¤«Â¾¤ÇµÄÏÀ¤µ¤ì¤ëÆâÉôŪ¤Ê´Ø¿ô¤È·¿¤ËÂФ·¤Æ»È¤ï¤ì¤ëÊ̸ĤλØÌ¾µ¡¹½¤¬¤¢¤ë¡£

¥¯¥é¥¹¥·¥¹¥Æ¥à¤Ï class °À­¤Ë¤è¤Ã¤Æ¤òÄ̤¸¤Æattribute. ¤³¤Î°À­¤Ï¥¯¥é¥¹Ì¾¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£¥¯¥é¥¹ "foo" ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ê½Ð¤¹¤Ë¤Ï ʸ»úÎó `"foo"' ¤òÆâÉô¤Ë»ý¤Ä¥¯¥é¥¹Â°À­¤òñ¤ËÉղ乤ì¤ÐÎɤ¤¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢»ö¼Â¾å¤¹¤Ù¤Æ¤Î¤â¤Î¤¬¥¯¥é¥¹ "foo" ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¥ª¥Ö¥¸¥§¥¯¥È¥·¥¹¥Æ¥à¤ÏÆó¤Ä¤Î»ØÌ¾´Ø¿ô UseMethod ¤È NextMethod ¤òÍѤ¤¤Æ Áí¾ÎŪ´Ø¿ô ¤òÍøÍѤ¹¤ë¡£Åµ·¿Åª¤Ê¥ª¥Ö¥¸¥§¥¯¥È¥·¥¹¥Æ¥à¤ÎÍøÍѤÏÁí¾ÎŪ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç»Ï¤Þ¤ë¡£ ¤³¤Î´Ø¿ô¤ÏÉáÄÌ¶Ë¤á¤ÆÃ±½ç¤Ç°ì¹Ô¤Î¥³¡¼¥É¤«¤é¤Ê¤ë¡£¥·¥¹¥Æ¥à´Ø¿ô mean ¤ÏÀµ¤Ë¤½¤¦¤·¤¿´Ø¿ô¤Î Îã¤Ç¤¢¤ë¡£

 
> mean
function (x, ...)
UseMethod("mean")

mean ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¤­¤ÏǤ°Õ¸Ä¿ô¤Î°ú¿ô¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢¤½¤ÎºÇ½é¤Î°ú¿ô¤Ï ÆÃ¼ì¤Ç¡¢¤½¤ÎºÇ½é¤Î°ú¿ô¤¬¤É¤Î¥á¥½¥Ã¥É¤ò»È¤¦¤«¤ò·è¤á¤ë¤Î¤Ë»È¤ï¤ì¤ë¡£ ÊÑ¿ô .Class ¤¬ x ¤Î¥¯¥é¥¹Â°À­¤ËÀßÄꤵ¤ì .Generic ¤Ïʸ»úÎó "mean" ¤ËÀßÄꤵ¤ì¡¢µ¯Æ°¤¹¤Ù¤­Àµ¤·¤¤¥á¥½¥Ã¥É¤òõº÷¤¹¤ë¡£mean ¤ËÂФ¹¤ë¾¤ÎÁ´¤Æ¤Î°ú¿ô¤Î¥¯¥é¥¹Â°À­ ¤Ï̵»ë¤µ¤ì¤ë¡£

x ¤¬ "foo" ¤È "bar" ¤ò¤³¤Î½ç¤Ç´Þ¤à¥¯¥é¥¹Â°À­¤ò»ý¤Ä¤È¤·¤è¤¦¡£ R ¤ÏºÇ½é mean.foo ¤È¤¤¤¦Ì¾Á°¤Î´Ø¿ô¤òõ¤·¡¢¤â¤·¤½¤ì¤¬Ìµ¤±¤ì¤Ð¼¡¤Ë´Ø¿ô mean.bar ¤òõ¤¹¡£¤â¤·¤½¤ì¤â¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð¡¢ºÇ¸å¤Ë foo.default ¤òõ¤¹¡£¤â¤·ºÇ¸å¤Îõº÷¤âÉÔÀ®¸ù¤Ê¤é¤Ð R ¤Ï¥¨¥é¡¼¤òÀë¹ð¤¹¤ë¡£ ¾ï¤Ë´ûÄê¤Î¥á¥½¥Ã¥É¤òÍѰդ¹¤ë¤Î¤ÏÎɤ¤¹Í¤¨¤Ç¤¢¤ë¡£´Ø¿ô mean.foo Åù ¤Ï¤³¤Îʸ̮¤Ç¤Ï¥á¥½¥Ã¥É¤È¤·¤Æ»²¾È¤µ¤ì¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

NextMethod ¤Ï»ØÌ¾¤ËÂФ¹¤ë¤â¤¦°ì¤Ä¤Îµ¡¹½¤òÄ󶡤¹¤ë¡£ °ì¤Ä¤Î´Ø¿ô¤Ï¤½¤ÎÃæ¤Î¤É¤³½Ð¤Ç¤â NextMethod ¤ò¸Æ¤Ó½Ð¤»¤ë¡£ ¤É¤Î¥á¥½¥Ã¥É¤¬µ¯Æ°¤µ¤ì¤ë¤«¤Î·èÄê¤ÏÂè°ì¤Ë .Class ¤È .Generic ¤Î¸½ºßÃͤ˰͸¤¹¤ë¡£ ¤³¤ì¤Ï¥á¥½¥Ã¥É¤¬¼ÂºÝ¤ÏÄ̾ï¤Î´Ø¿ô¤Ç¤¢¤ê¥æ¡¼¥¶¡¼¤¬¤½¤ì¤òľÀܸƤӽФ»¤ë¤¿¤á¤¹¤³¤·ÌäÂê̵¤·¤È¤Ï¤·¤Ê¤¤¡£ ¤â¤·¥æ¡¼¥¶¡¼¤¬¤½¤¦¤¹¤ì¤Ð .Generic ¤È .Class ¤ËÂФ¹¤ëÃͤϸºß¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¡£

¤â¤·¥á¥½¥Ã¥É¤¬Ä¾Àܵ¯Æ°¤µ¤ì¡¢¤½¤ì¤¬ NextMethod ¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤á¤Ð NextMethod ¤Ø¤Î ºÇ½é¤Î°ú¿ô¤¬Áí¾ÎŪ´Ø¿ô¤ò·èÄꤹ¤ë¤Î¤Ë»È¤ï¤ì¤ë¡£ ¤â¤·¤³¤Î°ú¿ô¤¬Ä󶡤µ¤ì¤Ê¤¤¤È¥¨¥é¡¼¤¬À¸¤¸¤ë¡£¤·¤¿¤¬¤Ã¤Æ¤³¤Î°ú¿ô¤ò¾ï¤ËÍ¿¤¨¤ë¤³¤È¤Ï ¤è¤¤¹Í¤¨¤Ç¤¢¤ë¡£

¥á¥½¥Ã¥É¤¬Ä¾Àܵ¯Æ°¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤³¤Î¥á¥½¥Ã¥É¤Ø¤ÎºÇ½é¤Î°ú¿ô¤Î¥¯¥é¥¹Â°À­¤¬ .Class ¤ÎÃͤȤ·¤Æ»È¤ï¤ì¤ë¡£

¥á¥½¥Ã¥É¤½¤ì¼«¿È¤Ï°ì¼ï¤Î·Ñ¾µ¤òÄ󶡤¹¤ë¤¿¤á¤Ë NextMethod ¤ò»ÈÍѤ¹¤ë¡£ ÉáÄÌÆÃÄê¤Î¥á¥½¥Ã¥É¤Ï¥Ç¡¼¥¿¤òÀ°¤¨¤ë¤¿¤á¤Ë´ö¤Ä¤«¤ÎÁàºî¤ò¹Ô¤¤¡¢ ¤½¤ì¤«¤é NextMethod ¤Ø¤Î¸Æ¤Ó½Ð¤·¤òÄ̤·¤ÆÅ¬Åö¤Ê¼¡¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¡£

¼¡¤Î´Êñ¤ÊÎã¤ò¹Í¤¨¤è¤¦¡££²¼¡¸µ¤Î¥æ¡¼¥¯¥ê¥Ã¥É¶õ´Ö¤ÎÅÀ¤Ï¤½¤Î¥Ç¥«¥ë¥ÈºÂɸ (x-y) ¤â¤·¤¯¤Ï¶ÊºÂɸ (r-theta) ¤Ç»ØÄê¤Ç¤­¤ë¡£¤·¤¿¤¬¤Ã¤ÆÅÀ¤Î°ÌÃ֤ξðÊó¤òÊݴɤ¹¤ë¤¿¤á¤Ë¤ÏÆó¤Ä¤Î¥¯¥é¥¹ "xypoint" ¤È "rthetapoint" ¤òÄêµÁ¤¹¤ë¤³¤È¤¬¹Í¤¨¤é¤ì¤ë¡£ `xy' ÅÀ¥Ç¡¼¥¿¹½Â¤¤ÎÁ´ÂÎ¤Ï x-À®Ê¬¤È y-À®Ê¬¤ò¤â¤Ä¥ê¥¹¥È¤Ë¤Ê¤ë `r¡¼theta' ¥Ç¡¼¥¿¹½Â¤¤ÎÁ´ÂÎ¤Ï r-À®Ê¬¤È theta-À®Ê¬¤ò¤â¤Ä¥ê¥¹¥È¤Ë¤Ê¤ë¡£

¤³¤³¤Ç¡¢ÁÐÊý¤Î¥¿¥¤¥×¤Î¥ª¥Ö¥¸¥§¥¯¥È¤«¤é x-°ÌÃÖ¤òÆÀ¤ë¤³¤È¤ò¹Í¤¨¤è¤¦¡£ ¤³¤ì¤ÏÁí¾ÎŪ´Ø¿ô¤òÍѤ¤¤Æ´Êñ¤Ë¼Â¸½¤Ç¤­¤ë¡£ Áí¾ÎŪ´Ø¿ô xpos ¤ò¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤è¤¦¡£

 
xpos <- function(x, ...)
    UseMethod("xpos")

¼¡¤Ë¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡£

 
xpos.xypoint <- function(x) x$x
xpos.rthetapoint <- function(x) x$r * cos(x$theta)

¥æ¡¼¥¶¡¼¤Ïñ¤Ë´Ø¿ô xpos ¤ò°ú¿ô¤È¤·¤Æ¤É¤Á¤é¤«¤Îɽ¸½¤òÍѤ¤¤Æ¸Æ¤Ó½Ð¤»¤ÐÎɤ¤¡£ ÆâÉô¤Î dispatching ¥á¥½¥Ã¥É¤¬¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤ò¸«½Ð¤·¡¢Å¬Àڤʥ᥽¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¡£

¾¤Îɽ¸½¤ò²Ã¤¨¤ë¤Î¤Ï¤È¤Æ¤â´Êñ¤Ç¤¢¤ë¡£ ¿·¤·¤¤Áí¾ÎŪ´Ø¿ô¤ò½ñ¤¯É¬ÍפÏ̵¤¯¡¢¥á¥½¥Ã¥É¤À¤±¤ò½ñ¤±¤ÐÎɤ¤¡£ ¥æ¡¼¥¶¡¼¤Ï´û¸¤Î¾¤Îɽ¸½¤Ç¤Ï¤Ê¤¯¿·¤·¤¤É½¸½¤ò½èÍý¤¹¤ë¤³¤È¤À¤±¤ËÀÕǤ¤ò»ý¤Æ¤Ð Îɤ¤¤Î¤Ç¡¢¤³¤ì¤Ï´û¸¤Î¥·¥¹¥Æ¥à¤ËÉÕ¤±²Ã¤¨¤ë¤ò´Êñ¤Ë¤¹¤ë¡£

¤³¤Î¼êË¡¤Î»ÈÍѤÎÂçÉôʬ¤Ï°Û¤Ê¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë°õ»ú½ÐÎÏË¡¤òÄ󶡤¹¤ë¤³¤È¤Ë¤¢¤ë¡£ Ìó£´£°¤Î¤½¤¦¤·¤¿¥á¥½¥Ã¥É¤¬¤¢¤ë¡£

¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹Â°À­¤ÏÊ£¿ô¤ÎÍ×ÁǤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£¤¢¤ëÁí¾ÎŪ´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤È¡¢ºÇ½é¤Î·Ñ¾µ¤Ï¼ç¤Ë NextMethod ¤òÄ̤¸¤Æ½èÍý¤µ¤ì¤ë¡£ NextMethod ¤Ï¸½ºßɾ²ÁÃæ¤Î ¥á¥½¥Ã¥É¤ò·èÄꤷ¡¢¼¡¤Î¥¯¥é¥¹¤ò(7)¡£

Áí¾ÎŪ´Ø¿ô¤Ïñ°ì¤Îʸ¤«¤é¤Ê¤ë¤Ù¤­¤Ç¤¢¤ë¡£ ¤½¤ì¤é¤Ï¾ï¤Ë foo <- function(x, ...) UseMethod("foo", x) ¤Î·Á¼°¤ò»ý¤Ä¤Ù¤­¤Ç¤¢¤ë¡£ UseMethod ¤Î¹½Ê¸¤Ï¡¢Å¬Åö¤Ê¥á¥½¥Ã¥É¤¬·èÄꤵ¤ì¡¢¤½¤ì¤«¤é¤½¤Î¥á¥½¥Ã¥É¤¬¡¢¤¢¤¿¤«¤â¸Æ¤Ó½Ð¤·¤¬Ä¾Àܥ᥽¥Ã¥É¤Ë¤Ê¤µ¤ì¤¿¤«¤Î¤è¤¦¤Ë Áí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·¤ÈƱ¤¸½ç½ø¤Ç¡¢Æ±°ì¤Î°ú¿ô¤Çµ¯Æ°¤µ¤ì¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£

Àµ¤·¤¤¥á¥½¥Ã¥É¤ò·èÄꤹ¤ë¤¿¤á¤Ë¤ÏÁí¾ÎŪ´Ø¿ô¤Ø¤ÎºÇ½é¤Î°ú¿ô¤Î¥¯¥é¥¹Â°À­¤¬ÆÀ¤é¤ì¡¢Àµ¤·¤¤¥á¥½¥Ã¥É¤ò¸«ÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¡£Áí¾ÎŪ´Ø¿ô¤Î̾Á°¤Ï¥¯¥é¥¹Â°À­¤ÎºÇ½é¤ÎÍ×ÁǤȷÁ¼° generic.class ¤Ç·ë¹ç¤µ¤ì¡¢¤½¤ì¤«¤é¤½¤Î̾Á°¤ò»ý¤Ä´Ø¿ô¤¬Ãµ¤µ¤ì¤ë¡£¤â¤·´Ø¿ô¤¬¸«ÉÕ¤«¤ì¤Ð¤½¤ì¤¬»È¤ï¤ì¤ë¡£¤â¤·¤½¤¦¤·¤¿´Ø¿ô¤¬¸«ÉÕ¤«¤é¤Ê¤±¤ì¤Ð¡¢ ¥¯¥é¥¹Â°À­¤ÎÂ裲Í×ÁǤ¬»È¤ï¤ì¤ëÅù¡¢¥¯¥é¥¹Â°À­¤ÎÁ´¤Æ¤ÎÍ×ÁǤ¬Ìµ¤¯¤Ê¤ë¤Þ¤Ç³¤¯¡£ ¤â¤·¤¤¤«¤Ê¤ë¥á¥½¥Ã¥É¤â¤½¤Î»þÅÀ¤Ç¸«ÉÕ¤«¤é¤Ê¤±¤ì¤Ð¡¢¥á¥½¥Ã¥É generic.default ¤¬»È¤ï¤ì¤ë¡£¤â¤·Áí¾ÎŪ´Ø¿ô¤Ø¤ÎºÇ½é¤Î°ú¿ô¤¬¥¯¥é¥¹Â°À­¤ò »ý¤¿¤Ê¤±¤ì¤Ð generic.default ¤¬»È¤ï¤ì¤ë¡£ Á´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï class °À­¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î°À­¤ÏǤ°Õ¸Ä¿ô¤ÎÍ×ÁǤò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤ì¤é¤Î³Æ¡¹¤Ï¥¯¥é¥¹¤òÄêµÁ¤¹¤ëʸ»úÎó¤Ç¤¢¤ë¡£ Áí¾ÎŪ´Ø¿ô¤¬µ¯Æ°¤µ¤ì¤ë¤È¡¢¤½¤ÎºÇ½é¤Î°ú¿ô¤Î¥¯¥é¥¹¤¬¸¡ºº¤µ¤ì¤ë¡£ UseMethod ¤ÏÆÃÊ̤ʴؿô¤Ç¾¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤Ï°Û¤Ê¤Ã¤¿µóư¤ò¤¹¤ë¡£ ¤½¤Î¸Æ¤Ó½Ð¤·¤Î¹½Ê¸¤Ï UseMethod(generic, object) ¤Ç¤¢¤ê¡¢ ¤³¤³¤Ç generic ¤ÏÁí¾ÎŪ´Ø¿ô¤Î̾Á°¡¢object ¤Ï¤É¤Î¥á¥½¥Ã¥É¤òÁª¤Ö¤«¤ò·èÄꤹ¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¡£ UseMethod ¤Ï¤¢¤ë´Ø¿ô¤ÎÆâÉô¤«¤é¤À¤±¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£ S ¤Ë¤ª¤±¤ë UseMethod ¤ÎÄêµÁ¤ÏÄɲäΰú¿ô `...' ¤ò»ý¤Ä¤¬¡¢¤½¤ì°Ê¹ß¤Î·×»»¤Ë ²¿¤é¤Î¸ú²Ì¤â»ý¤¿¤Ê¤¤¤è¤¦¤Ç¤¢¤ë¡£ R ¤Ï UseMethod ¤Ø£²¤Ä°Ê¾å¤Î°ú¿ô¤¬¤¢¤ë¤È·Ù¹ð¤ò½Ð¤·¡¢ ¤³¤ì¤é¤Î;ʬ¤Î°ú¿ô¤ò̵»ë¤¹¤ë¡£ UseMethod ¤Ïɾ²Á¥â¥Ç¥ë¤ò£²¼ïÎà¤Î»ÅÊý¤ÇÊѹ¹¤¹¤ë¡£ºÇ½é¤Ë¡¢ ¤½¤ì¤¬µ¯Æ°¤µ¤ì¤¿¤È¤­¤Ë¼¡¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½¥Ã¥É(´Ø¿ô)¤ò·èÄꤹ¤ë¡£ ¼¡¤Ë¡¢¸½ºß¤Îɾ²Á´Ä¶­¤Î²¼¤Ç¤½¤Î´Ø¿ô¤òµ¯Æ°¤¹¤ë¡£¤³¤Î²áÄø¤ò¼êû¤ËÀâÌÀ¤·¤è¤¦¡£ UseMethod ¤¬É¾²Á´Ä¶­¤òÊѹ¹¤¹¤ë£²¤ÄÌÜ¤ÎÆ°ºî¤Ç¤Ï¡¢¸Æ¤Ó½Ð¤·´Ø¿ô¤ËÀ©¸æ¤òÌᤵ¤Ê¤¤¡£ ¤³¤ì¤Ï UseMethod ¤Î¸Æ¤Ó½Ð¤·¤Ë³¤¯Ç¡²¿¤Ê¤ëʸ¤â¼Â¹Ô¤µ¤ì¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£

UseMethod ¤¬µ¯Æ°¤µ¤ì¤ë¤È¡¢Áí¾ÎŪ´Ø¿ô¤¬ UseMethod ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ø¤ÎÆÃ¼ìÃͤȤ·¤Æ¤«¡¢¤â¤·Ç¡²¿¤Ê¤ëÃÍ¤â»ØÄꤵ¤ì¤Ê¤¤¤È¸½ºß¤Î´Ø¿ô¤Î̾Á°¤È¤·¤Æ¡¢·èÄꤵ¤ì¤ë¡£ dispatch ¤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÏÄ󶡤µ¤ì¤ëÂ裲°ú¿ô¡¢¤Þ¤¿¤Ï¸½ºß¤Î´Ø¿ô¤Ø¤ÎÂ裱°ú¿ô¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¡£ °ú¿ô¤Î¥¯¥é¥¹¤¬·èÄꤵ¤ì¡¢¤½¤ÎºÇ½é¤ÎÍ×ÁǤ¬Å¬Àڤʥ᥽¥Ã¥É¤ò·èÄꤹ¤ë¤¿¤á¤ËÁí¾ÎŪ´Ø¿ô¤Î̾Á°¤È·ë¹ç¤µ¤ì¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤â¤·Áí¾ÎŪ´Ø¿ô¤¬Ì¾Á° foo ¤ò»ý¤Á¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤¬ "bar" ¤Ê¤é¤Ð¡¢R ¤Ï ̾Á° foo.bar ¤ò»ý¤Ä¥á¥½¥Ã¥É¤òõ¤¹¡£¤â¤·¤½¤¦¤·¤¿¥á¥½¥Ã¥É¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¡¢Àè¤ËÀâÌÀ¤µ¤ì¤¿·Ñ¾µ¥á¥«¥Ë¥º¥à¤¬ ŬÅö¤Ê¥á¥½¥Ã¥É¤òÆÃÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£

¥á¥½¥Ã¥É¤¬°ìö·èÄꤵ¤ì¤ë¤È R ¤Ï¤½¤ì¤òÆÃ¼ì¤ÊÊýË¡¤Çµ¯Æ°¤¹¤ë¡£ ¿·¤·¤¤É¾²Á´Ä¶­¤ò¤Ä¤¯¤ê½Ð¤¹Âå¤ï¤ê¤Ë R ¤Ï¸½ºß¤Î´Ø¿ô¸Æ¤Ó½Ð¤·(Áí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·)¤Î´Ä¶­¤ò»È¤¦¡£ UseMethod ¤Î¸Æ¤Ó½Ð¤·¤ËÀèΩ¤Ã¤Æ¹Ô¤ï¤ì¤¿Ç¡²¿¤Ê¤ëÂåÆþ¡¦É¾²Á¤â̵¸ú¤Ë¤Ê¤ë¡£ Áí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ë»È¤ï¤ì¤¿°ú¿ô¤ÏÁª¤Ð¤ì¤¿¥á¥½¥Ã¥É¤Î·Á¼°Åª°ú¿ô¤ÈºÆ¾È¹ç¤µ¤ì¤ë¡£

¥á¥½¥Ã¥É¤¬µ¯Æ°¤µ¤ì¤ë¤È¡¢¤½¤ì¤ÏÁí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ë¤ª¤±¤ë¤Î¤ÈƱ¤¸¸Ä¿ô¡¦Ì¾Á°¤ò»ý¤Ä°ú¿ô¤Ç¤è¤Ó¤À¤µ¤ì¤ë¡£ ¤½¤ì¤é¤Ï¥á¥½¥Ã¥É¤Î°ú¿ô¤È R ¤Îɸ½àŪ¾È¹ç¼ê½ç¤Ë¤·¤¿¤¬¤Ã¤Æ¾È¹ç¤µ¤ì¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢ ¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ä¤Þ¤êºÇ½é¤Î°ú¿ô¤Ï´û¤Ëɾ²ÁºÑ¤ß¤Ç¤¢¤ë¡£ UseMethod ¤Î¸Æ¤Ó½Ð¤·¤Ï¤¢¤ëÆÃ¼ì¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤òɾ²Á¥Õ¥ì¡¼¥à¤ËÃÖ¤¯¤È¤¤¤¦¸ú²Ì¤ò»ý¤Ä¡£ ¤½¤ì¤Ï .Class¡¢.Generic ¤½¤·¤Æ .Method ¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤ÎÆÃ¼ì¥ª¥Ö¥¸¥§¥¯¥È¤Ï R ¤¬¥á¥½¥Ã¥É dispatch ¤È·Ñ¾µ¤ò½èÍý¤¹¤ëºÝ¤Ë»È¤ï¤ì¤ë¡£ .Class ¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤Ç¤¢¤ê¡¢.Generic ¤ÏÁí¾ÎŪ´Ø¿ô¤Î̾Á°¡¢¤½¤·¤Æ .Method ¤Ï¸½ºßµ¯Æ°Ãæ¤Î¥á¥½¥Ã¥É¤Î̾Á°¤Ç¤¢¤ë¡£ ¤â¤·¥á¥½¥Ã¥É¤¬ÆâÉô¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤Î°ì¤Ä¤Ë¤è¤êµ¯Æ°¤µ¤ì¤ë¤È .Group ¤È¤¤¤¦Ì¾Á°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤â¸ºß¤¹¤ë¤«¤âÃΤì¤Ê¤¤¡£ ¤³¤ì¤ÏÀá @xref{Group methods} ¤ÇÀâÌÀ¤µ¤ì¤ë¤Ç¤¢¤í¤¦¡£ UseMethod ¤Ø¤ÎºÇ½é¤Î¸Æ¤Ó½Ð¤·¤Î¸å¤Ë¡¢ ¥ª¥Ö¥¸¥§¥¯¥È¼«¿È¤Ç¤Ê¤¯¡¢¤³¤ì¤é¤ÎÊÑ¿ô¤¬°ú¤­Â³¤¯¥á¥½¥Ã¥É¤ÎÁªÂò¤òÀ©¸æ¤¹¤ë¡£ ¥á¥½¥Ã¥É¤ÎËÜÂΤ¬É¸½àŪ¤Ê¤ä¤ê¤«¤¿¤Ç¤½¤ì¤«¤éɾ²Á¤µ¤ì¤ë¡£ÆÃ¤ËËÜÂÎÃæ¤ÎÊÑ¿ô¤Î¸¡º÷¤Ï¥á¥½¥Ã¥É¤ËÂФ¹¤ëµ¬Â§¤Ë½¾¤¦¡£ ½¾¤Ã¤Æ¡¢¥á¥½¥Ã¥É¤¬´ØÏ¢¤¹¤ë´Ä¶­¤ò»ý¤Æ¤Ð¡¢¤½¤ì¤¬»È¤ï¤ì¤ë¡£¼ÂºÝ¤Ë¤ÏÁí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ï¥á¥½¥Ã¥É¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ë ÃÖ¤­´¹¤¨¤é¤ì¤Æ¤¤¤ë¡£Áí¾ÎŪ´Ø¿ô¤Î¥Õ¥ì¡¼¥àÃæ¤Ç¤ÎǤ°Õ¤Î¶É½êŪÉÕÃͤϥ᥽¥Ã¥É¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ë°ú¤­·Ñ¤¬¤ì¤ë¤Ç¤¢¤í¤¦¡£ ¤³¤Î ÆÃħ ¤Î»ÈÍѤϴ«¤á¤é¤ì¤Ê¤¤¡£À©¸æ¤Ï·è¤·¤ÆÁí¾ÎŪ´Ø¿ô¤ËÊÖ¤µ¤ì¤Ê¤¤¤³¤È¤òǧ¼±¤¹¤ë¤³¤È¤¬´ÎÍפǡ¢ ½¾¤Ã¤Æ UseMethod ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ë³¤¯Ç¡²¿¤Ê¤ëɽ¸½¼°¤â·è¤·¤Æ¼Â¹Ô¤µ¤ì¤ë¤³¤È¤Ï̵¤¤¤Ç¤¢¤í¤¦¡£ UseMethod ¤Ø¤Î¸Æ¤Ó½Ð¤·¤ËÀè¤À¤Ã¤ÆÉ¾²Á¤µ¤ì¤¿Áí¾ÎŪ´Ø¿ô¤Ø¤ÎǤ°Õ¤Î°ú¿ô¤Ïɾ²ÁºÑ¤ß¤È¤µ¤ì¤ë¤Ç¤¢¤í¤¦¡£ Áí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·Ãæ¤Î°ú¿ô¤Ïɸ½àŪ¤Ê°ú¿ô¾È¹çµ¡¹½¤òÍѤ¤¤Æ¥á¥½¥Ã¥É¤Ø¤Î°ú¿ô¤ÈºÆ¾È¹ç¤µ¤ì¤ë¤Ç¤¢¤í¤¦¡£ ºÇ½é¤Î°ú¿ô¡¢¤Ä¤Þ¤ê¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ïɾ²ÁºÑ¤ß¤È¤µ¤ì¤ë¤Ç¤¢¤í¤¦¡£ UseMethod ¤Ø¤ÎºÇ½é¤Î°ú¿ô¤¬Í¿¤¨¤é¤ì¤Ê¤¤¤È¡¢¤½¤ì¤Ï¸½ºß¤Î´Ø¿ô¤Î̾Á°¤È¤µ¤ì¤ë¡£ ¤â¤·£²¤Ä¤Î°ú¿ô¤¬ UseMethod ¤ËÍ¿¤¨¤é¤ì¤ë¤È¡¢£²¤ÄÌܤϼêÇÛ¤µ¤ì¤ë¤Ù¤­¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¤È²¾Äꤵ¤ì¤ë¡£ ¤½¤ì¤¬É¾²Á¤µ¤ì¤ë¤ÈɬÍפʥ᥽¥Ã¥É¤¬·èÄê¤Ç¤­¤ë¡£ ¤³¤Î¾ì¹çÁí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·Ãæ¤ÎºÇ½é¤Î°ú¿ô¤Ïɾ²Á¤µ¤ì¤º¡¢Ìµ»ë¤µ¤ì¤ë¡£ ¸Æ¤Ó½Ð¤·Ãæ¤Î¾¤Î°ú¿ô¤ò¡¢¤½¤ì¤é¤¬¤¢¤¿¤«¤âÁí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·Ãæ¤Ë¤¢¤Ã¤¿¤«¤Î¤è¤¦¤ËÊÑ´¹¤¹¤ëÊýË¡¤Ï̵¤¤¡£ ¤³¤ì¤Ï¡¢¼¡¤Î¥á¥½¥Ã¥É¤Ø¤Î¸Æ¤Ó½Ð¤·Ãæ¤Î°ú¿ô¤òÊѹ¹¤Ç¤­¤ë NextMethod ¤ÈÂоÈŪ¤Ç¤¢¤ë¡£ NextMethod ¤Ïñ½ã¤Ê·Ñ¾µµ¡¹½¤òÄ󶡤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£

NextMethod ¤Î¸Æ¤Ó½Ð¤·¤Ø¤Î·ë²Ì¤È¤·¤Æµ¯Æ°¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ï¡¢¤½¤ì¤¬¤¢¤¿¤«¤â ÀèΩ¤Ä¥á¥½¥Ã¥É¤«¤éµ¯Æ°¤µ¤ì¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë¿¶Éñ¤¦¡£ ·Ñ¾µ¥á¥½¥Ã¥É¤Ø¤Î°ú¿ô¤Ï¸½ºß¤Î¥á¥½¥Ã¥É¤Ø¤Î¸Æ¤Ó½Ð¤·¤ÈƱ¤¸½ç½ø¤Ç¤¢¤ê¡¢Æ±¤¸Ì¾Á°¤ò»ý¤Ä¡£ ¤³¤ì¤Ï¤½¤ì¤é¤¬Áí¾ÎŪ´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤ËÂФ¹¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢°ú¿ô¤ËÂФ¹¤ëɽ¸½¤Ï¸½ºß¤Î¥á¥½¥Ã¥É¤ÎÂбþ¤¹¤ë·Á¼°Åª°ú¿ô¤Î̾Á°¤Ç¤¢¤ë¡£ ¤³¤Î¤è¤¦¤Ë°ú¿ô¤Ï NextMethod ¤¬µ¯Æ°¤µ¤ì¤¿»þÅÀ¤Ç¤Î¤½¤ì¤é¤ÎÃͤËÂбþ¤¹¤ëÃͤò»ý¤Ä¤Ç¤¢¤í¤¦¡£ ̤ɾ²Á¤Î°ú¿ô¤Ï̤ɾ²Á¤Î¤Þ¤Þ¤Ç¤¢¤ë¡£·ç»ÃͤϷ绤·¤¿¤Þ¤Þ¤Ç¤¢¤ë¡£ NextMethod ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Î¹½Ê¸¤Ï NextMethod(Áí¾ÎŪ´Ø¿ô, ¥ª¥Ö¥¸¥§¥¯¥È, ...) ¤Ç¤¢¤ë¡£ ¤â¤· Áí¾ÎŪ´Ø¿ô ¤¬Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¤È .Generic ¤ÎÃͤ¬»È¤ï¤ì¤ë¡£ ¤â¤· object ¤¬Ä󶡤µ¤ì¤Ê¤¤¤È¡¢¸½ºß¤Î¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·Ãæ¤ÎºÇ½é¤Î°ú¿ô¤¬»È¤ï¤ì¤ë¡£ `...' Ãæ¤ÎÃͤϼ¡¤Î¥á¥½¥Ã¥É¤Î°ú¿ô¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£ ¼¡¤Î¥á¥½¥Ã¥É¤ÎÁªÂò¤¬ .Generic ¤È .Class ¤Î¸½ºßÃͤ˰͸¤·¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï°Í¸¤·¤Ê¤¤¤³¤È¤ò Íý²ò¤¹¤ë¤³¤È¤¬½ÅÍפǤ¢¤ë¡£¤·¤¿¤¬¤Ã¤Æ NextMethod ¤Î¸Æ¤Ó½Ð¤·Ãæ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÊѹ¹¤¹¤ë¤³¤È¤Ï¡¢ ¼¡¤Î¥á¥½¥Ã¥É¤Ë¤è¤Ã¤Æ¼õ¤±·Ñ¤¬¤ì¤ë°ú¿ô¤Ë±Æ¶Á¤¹¤ë¤¬¡¢¼¡¤Î¥á¥½¥Ã¥É¤ÎÁªÂò¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¡£ ¥á¥½¥Ã¥É¤ÏľÀܸƤӽФ¹¤³¤È¤¬¤Ç¤­¤ë¡£¤â¤·¤½¤¦¤¹¤ë¤È .Method ¤Ï¸ºß¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¡£¤³¤Î¾ì¹ç¤Ï NextMethod ¤Î .Class ¤ÎÃͤ¬¸½ºß¤Î´Ø¿ô¤ÎÂè°ì°ú¿ô¤Ç¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹Â°À­¤È¤µ¤ì¤ë¡£ .Method ¤ÎÃͤϸ½ºß¤Î´Ø¿ô¤Î̾Á°¤Ç¤¢¤ë¡£ ´ûÄêÃͤΤ³¤¦¤·¤¿ÁªÂò¤Ï¥á¥½¥Ã¥É¤Îưºî¤¬¡¢¤½¤ì¤¬Ä¾ÀܸƤФ줿¤«¡¢¤Þ¤¿¤Ï¤¢¤ëÁí¾ÎŪ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤··Ðͳ¤Ç¹Ô¤ï¤ì¤¿¤«¤Ë¤è¤Ã¤Æ ÊѤï¤é¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë¡£

°ì¤Ä¤ÎÏÀÅÀ¤Ï NextMethod ¤ËÂФ¹¤ë `...' °ú¿ô¤Îµóư¤Ç¤¢¤ë¡£ ÇòËܤϤ³¤Îµóư¤ò¼¡¤Î¤è¤¦¤ËÀâÌÀ¤·¤Æ¤¤¤ë¡§

- ̾Á°ÉÕ¤­¤Î°ú¿ô¤Ï¸½ºß¤Î¸Æ¤Ó½Ð¤·Ãæ¤ÎÂбþ¤¹¤ë°ú¿ô¤òÃÖ¤­´¹¤¨¤ë¡£Ì¾Á°Ìµ¤·¤Î°ú¿ô¤Ï°ú¿ô¥ê¥¹¥È¤ÎÀèÆ¬¤Ë¹Ô¤¯¡£

»ä¤¬¹Ô¤¤¤¿¤¤¤Î¤Ï¼¡¤ÎÄ̤ꤢ¤ë¡§

-ºÇ½é¤Ë Nextmethod ¤ËÂФ¹¤ë°ú¿ô¾È¹ç¤ò¹Ô¤¦¡¨ -¥ª¥Ö¥¸¥§¥¯¥È¤â¤·¤¯¤ÏÁí¾ÎŪ´Ø¿ô¤¬¤¦¤Þ¤¯ÃÖ¤­´¹¤ï¤ë¤« -ºÇ½é¤Ë̾Á°ÉÕ¤­¤Î¥ê¥¹¥È¤ÎÍ×ÁǤ¬°ú¿ô(̾Á°ÉÕ¤­¤â¤·¤¯¤Ï̾Á°Ìµ¤·)¤Ë¥Þ¥Ã¥Á¤·¤¿¤é¡¢¥ê¥¹¥È¤ÎÃͤϰú¿ôÃͤòÃÖ¤­´¹¤¨¤ë¡£ -ºÇ½é¤Î̾Á°Ìµ¤·¤Î¥ê¥¹¥ÈÍ×ÁÇ

¾È¹ç¤Î¤¿¤á¤ÎÃÍ¡§ ¥¯¥é¥¹¡§ºÇ½é¤Ë .Class ¤«¤é¡¢¼¡¤Ë¥á¥½¥Ã¥É¤Ø¤ÎºÇ½é¤Î°ú¿ô¤«¤é¡¢¤½¤·¤ÆºÇ¸å¤Ë NextMethod ¤Ø¤Î ¸Æ¤Ó½Ð¤·Ãæ¤Ç»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼è¤ë¡£

Áí¾ÎŪ´Ø¿ô¡§ºÇ½é¤Ë .Generic ¤«¤é¼è¤ë¡£¤â¤·²¿¤â¤Ê¤±¤ì¤Ð¼¡¤Ë¥á¥½¥Ã¥É¤Ø¤ÎºÇ½é¤Î°ú¿ô¤«¤é¡¢¤½¤·¤Æ¤½¤ì¤â̵¤±¤ì¤Ð NextMethod ¤Ø¤Î ¸Æ¤Ó½Ð¤·¤«¤é¼è¤ë¡£

¥á¥½¥Ã¥É¡§¤³¤ì¤Ïñ¤Ë¸½ºß¤Î´Ø¿ô̾¤Ç¤¢¤ë¤Ù¤­¤Ç¤¢¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.2 ¥°¥ë¡¼¥×¥á¥Ã¥½¥É

Áȹþ´Ø¿ô¤Î´ö¤Ä¤«¤Î¥¿¥¤¥×¤ËÂФ· R ¤Ï±é»»»Ò¤ËÂФ¹¤ë»ØÌ¾µ¡¹½¤òÄ󶡤¹¤ë¡£ ¤³¤ì¤Ï == ¤ä < ¤È¤¤¤Ã¤¿±é»»»Ò¤¬ÆÃ¼ì¤Ê¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤ËÂФ·Êѹ¹¤µ¤ì¤¿ µóư¤ò»ý¤ÁÆÀ¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ´Ø¿ô¤È±é»»»Ò¤Ï»°¤Ä¤Î¥«¥Æ¥´¥ê¡¼¤Ë¥°¥ë¡¼¥×²½¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Î¥°¥ë¡¼¥×¤½¤ì¤¾¤ì¤ËÂФ· ¥°¥ë¡¼¥×¥á¥½¥Ã¥É¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤ë¡£ ¸½ºß¤Î¤È¤³¤í¥°¥ë¡¼¥×¤òÉÕ¤±²Ã¤¨¤ëµ¡Ç½¤Ï̵¤¤¡£°ì¤Ä¤Î¥°¥ë¡¼¥×Æâ¤Î´Ø¿ôÁ´¤Æ¤ËÆÃÍ­¤Î¥á¥½¥Ã¥É¤ò ½ñ¤¯¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£

¼¡¤Îɽ¤Ï°Û¤Ê¤Ã¤¿¥°¥ë¡¼¥×¤ËÂФ¹¤ë´Ø¿ô¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£

`Math'
abs, acos, acosh, asin, asinh, atan, atanh, ceiling, cos, cosh, cumsum, exp, floor, gamma, lgamma, log, log10, round, signif, sin, sinh, tan, tanh, trunc

`Summary'
all, any, max, min, prod, range, sum

`Ops'
+, -, *, /, ^, < , >, <=, >=, !=, ==, %%, %\%, &, |, !

Ops ¥°¥ë¡¼¥×Ãæ¤Î±é»»»Ò¤ËÂФ·¤Æ¤Ï¡¢¤â¤·Æó¤Ä¤ÎÈï±é»»¹à¤¬ÂФȤ·¤ÆÃ±°ì¤Î¥á¥½¥Ã¥É¤ò¼¨º¶¤¹¤ë¤Ê¤éÆÃ¼ì¤Ê ¥á¥½¥Ã¥É¤¬µ¯Æ°¤µ¤ì¤ë¡£ÆÃ¤Ë¡¢Æó¤Ä¤ÎÈï±é»»¹à¤¬Æ±¤¸¥á¥½¥Ã¥É¤ËÂбþ¤¹¤ë¾ì¹ç¤ä¡¢°ì¤Ä¤ÎÈï±é»»¹à¤¬Â¾¤ÎÈï±é»»¹à¤Î ¤½¤ì¤ËÍ¥À褹¤ë¥á¥½¥Ã¥É¤ËÂбþ¤¹¤ë¾ì¹ç¤¬³ºÅö¤¹¤ë¡£ ¤â¤·Î¾¼Ô¤¬Ã±°ì¤Î¥á¥½¥Ã¥É¤ò¼¨º¶¤·¤Ê¤¤¤Ê¤é¤Ð´ûÄê¤Î¥á¥½¥Ã¥É¤¬»È¤ï¤ì¤ë¡£ ¤â¤·Â¾¤ÎÈï±é»»¹à¤¬Âбþ¤¹¤ë¥á¥½¥Ã¥É¤ò»ý¤¿¤Ê¤±¤ì¤Ð¥°¥ë¡¼¥×¥á¥½¥Ã¥É¤È¥¯¥é¥¹¥á¥½¥Ã¥É¤Î¤É¤Á¤é¤â Í¥°Ì¤Ë¤Ï¤Ê¤é¤Ê¤¤¡£¥¯¥é¥¹¥á¥½¥Ã¥É¤¬¥°¥ë¡¼¥×¥á¥½¥Ã¥É¤è¤ê¤âÍ¥À褹¤ë¡£

¤â¤· ¥°¥ë¡¼¥× ¤¬ Ops ¤Ê¤é¤Ð¡¢ÆÃ¼ìÊÑ¿ô .Method ¤ÏÆó¤Ä¤ÎÍ×ÁǤò»ý¤Äʸ»úÎó¥Ù¥¯¥È¥ë¤Ç¤¢¤ë¡£ .Method ¤ÎÍ×ÁǤϡ¢¤â¤·Âбþ¤¹¤ë°ú¿ô¤¬¥á¥½¥Ã¥É¤ò·èÄꤹ¤ë¤Î¤Ë»È¤ï¤ì¤¿¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ê¤é¤Ð¡¢ ¥á¥½¥Ã¥É¤Î̾Á°¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£¤µ¤â¤Ê¤±¤ì¤Ð .Method ¤ÎÂбþ¤¹¤ëÍ×ÁǤÏŤµ¥¼¥í¤Îʸ»úÎó "" ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.3 ¥á¥Ã¥½¥É¤ò½ñ¤¯

¥æ¡¼¥¶¡¼¤ÏÍÆ°×¤Ë¼«Ê¬¼«¿È¤Î¥á¥½¥Ã¥É¤äÁí¾ÎŪ´Ø¿ô¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤ë¡£ Áí¾ÎŪ´Ø¿ô¤È¤Ïñ¤Ë UseMethod ¤Ø¤Î¸Æ¤Ó½Ð¤·¤òȼ¤¦´Ø¿ô¤Ç¤¢¤ë¡£ ¥á¥½¥Ã¥É¤È¤Ïñ¤Ë¥á¥½¥Ã¥É»ØÌ¾¤ò·Ðͳ¤·¤Æµ¯Æ°¤µ¤ì¤¿´Ø¿ô¤Î¤³¤È¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï UseMethod ¤â¤·¤¯¤Ï NextMethod ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Î·ë²Ì¤Ç¤¢¤êÆÀ¤ë¡£

¥á¥½¥Ã¥É¤ÏľÀܤ˸ƤӽФ»¤ë¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¯¤³¤È¤Ï²ÁÃͤ¬¤¢¤ë¡£ ¤³¤ì¤Ï UseMethod ¤òͽ¤á»È¤¦¤³¤È̵¤¯ÆþÎϤǤ­¡¢¤·¤¿¤¬¤Ã¤Æ ÆÃ¼ìÊÑ¿ô .Generic, .Class ¤½¤·¤Æ .Method ¤¬ÆÃÄê¤ÎÃͤòÍ¿¤¨¤é¤ì¤Ê¤¤¤³¤È¤ò °ÕÌ£¤¹¤ë¡£¤³¤Î¾ì¹ç¾å¤ËÀâÌÀ¤µ¤ì¤¿´ûÄê¤Îµ¬Â§¤¬¤³¤ì¤é¤ò·èÄꤹ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¤Ç¤¢¤í¤¦¡£

ºÇ¤âÉáÄ̤ÎÁí¾ÎŪ´Ø¿ô¤Î»ÈÍѤϡ¢¤¢¤ë¥â¥Ç¥ëÅö¤Æ¤Ï¤á²áÄø¤Î½ÐÎϤǤ¢¤ëÅý·×Ū¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë print ¤½¤·¤Æ summary ¥á¥½¥Ã¥É¤òÄ󶡤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤³¤ì¤ò¹Ô¤¦¤¿¤á¤Ë¡¢³Æ¥â¥Ç¥ë¤Ï ¤½¤Î½ÐÎϤˤ¢¤ë¥¯¥é¥¹Â°À­¤òÉÕÍ¿¤·¡¢¤½¤ì¤«¤é¤½¤Î½ÐÎϤò¼õ¤±¼è¤ê¡¢¤½¤ÎŬÀµ¤Ê²ÄÆÉÈǤòÄ󶡤¹¤ëÆÃ¼ì¤Ê¥á¥½¥Ã¥É¤ò Ä󶡤¹¤ë¡£¤½¤¦¤¹¤ë¤È¥æ¡¼¥¶¡¼¤Ï print ¤â¤·¤¯¤Ï summary ¤¬Ç¤°Õ¤Î²òÀÏ·ë²Ì¤ËÂФ¹¤ë ŬÀµ¤Ê½ÐÎϤòÄ󶡤¹¤ë¤Ç¤¢¤í¤¦¤³¤È¤À¤±¤ò³Ð¤¨¤Æ¤¤¤ì¤Ð¤è¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. ¸À¸ì¼«ÂÎ¤Î¥×¥í¥°¥é¥ß¥ó¥°

R ¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤¬Â¾¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤ò½¤Àµ¤·¤¿¤ê¹½À®¤·¤¿¤ê¤Ç¤­¡¢¤½¤Î·ë²Ì¤ò¸À¸ì¼«ÂΤò¹½À®¤¹¤ë°ìÉôʬ¤È¤·¤ÆÉ¾²Á¤Ç¤­¤ë ǽÎϤò»ý¤Ä¤è¤¦¤Ê°ì·²¤Î¸À¸ì¤Î¥¯¥é¥¹¤Ë°¤¹¤ë¡£¤³¤ì¤Ï Lisp ¤ä Scheme ¤½¤·¤Æ"´Ø¿ô¥×¥í¥°¥é¥ß¥ó¥°"¸À¸ì¤È¸Æ¤Ð¤ì¤ë ¾¤Î¸À¸ì¤ËÎà»÷¤·¤Æ¤ª¤ê¡¢FORTRN¤äALGOLÉ÷¸À¸ì¤È¤Ï°ìÀþ¤ò²è¤¹¡£ LispÉ÷¸À¸ì²¤Ï¡¢¥×¥í¥°¥é¥à¤È¥Ç¡¼¥¿¤Î´Ö¤Ë°ìÀڤζèÊ̤¬Ìµ¤¤"Á´¤Æ¤¬¥ê¥¹¥È"¤È¤¤¤¦¥Ñ¥é¥À¥¤¥à¤Ë¤è¤ê¡¢ ¤³¤ÎÆÃħ¤òºÇº¸Íã¤Ë°ÌÃÖ¤¹¤ë¡£

R¤Ï¡¢¾¯¤Ê¤¯¤È¤â¿ô³Ø¸ø¼°¤äCÉ÷¤ÎÀ©¸æ¹½Â¤¤Ë¤Ê¤ì¤¿¼Ô¤Ë¼è¤Ã¤Æ¡¢Lisp¤è¤ê¤Ï¤è¤ê¤È¤Ã¤Ä¤­°×¤¤¥×¥í¥°¥é¥ß¥ó¥°¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤òÄ󶡤¹¤ë¤¬¡¢ ¤½¤Î¥¨¥ó¥¸¥ó¤Ï¼ÂºÝ¤Ï¤«¤Ê¤êLispÉ÷¤Ç¤¢¤ë¡£ R ¤Ï¹½Ê¸²òÀϤµ¤ì¤¿É½¸½¼°¤ä´Ø¿ô¤Ø¤ÎľÀܤΥ¢¥¯¥»¥¹¤òµö¤·¡¢¤½¤ì¤é¤òÊѹ¹¤·¤¿¸å¼Â¹Ô¤·¤¿¤ê¡¢¤µ¤é¤Ë¤Ï¤Þ¤Ã¤¿¤¯¿·¤·¤¤´Ø¿ô¤ò °ì¤«¤é¤Ä¤¯¤ê½Ð¤¹¤³¤È¤òµö¤¹¡£

ɽ¸½¼°¤ÎƳ´Ø¿ô¤ò·×»»¤·¤¿¤ê¡¢·¸¿ô¥Ù¥¯¥È¥ë¤«¤é¿¹à¼°¤òÀ¸À®¤·¤¿¤ê¤È¤¤¤Ã¤¿¡¢¤³¤Îµ¡Ç½¤Î´ö¤Ä¤«¤Îɸ½àŪ ±þÍѤ¬¤¢¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤Þ¤¿ R ¤Î¥¤¥ó¥¿¡¼¥×¥ê¥¿Éôʬ¤Îưºî¤Ë¤È¤ê¤è¤ê´ðËÜŪ¤Ê»ÈÍÑË¡¤¬Â¸ºß¤¹¤ë¡£ ¤³¤ì¤é¤Î´ö¤Ä¤«¤Ï¡¢´ö¤Ä¤«¤Î¥â¥Ç¥ê¥ó¥°¡¦¥×¥í¥Ã¥È¥ë¡¼¥Á¥óÃæ¤Ç¤Ä¤¯¤ê½Ð¤µ¤ì¤ë model.frame ¤Ø¤Î ¸Æ¤Ó½Ð¤·(·è¤·¤Æ¼êºÝÎɤ¤¤È¤Ï¤¤¤¨¤Ê¤¤¤«¤âÃΤì¤Ê¤¤¤¬)¤Ë±÷¤±¤ë¤è¤¦¤Ë¡¢´Ø¿ô¤ò¾¤Î´Ø¿ô¤Î°ìÉôʬ¤È¤·¤ÆºÆ»ÈÍѤ¹¤ë¤¿¤á¤ËËܼÁŪ¤Ç¤¢¤ë¡£ Ê̤λÈÍÑË¡¤Ïñ¤ËÍ­ÍѤʵ¡Ç½¤Ø¤Î¥¨¥ì¥¬¥ó¥È¤Ê¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤òÍ¿¤¨¤ë¤³¤È¤Ç¤¢¤ë¡£ °ìÎã¤È¤·¤Æ curve ´Ø¿ô¤¬¤¢¤ë¡£¤³¤ì¤Ï sin(x) ¤È¤¤¤Ã¤¿É½¸½¼°¤ÇÍ¿¤¨¤é¤ì¤¿´Ø¿ô¤Î¥°¥é¥Õ¤ò½ñ¤¤¤¿¤ê¡¢ ¿ô³ØÅªÉ½¸½¼°¤Î¥×¥í¥Ã¥È¤ËÂФ¹¤ëµ¡Ç½¤òÍ¿¤¨¤ë¡£

¤³¤Î¾Ï¤Ç¤Ï¡¢¸À¸ì¼«ÂΤ˴ؤ¹¤ë·×»»¤ËÂФ·¤ÆÍøÍѤǤ­¤ë°ì·¤¤¤Îµ¡Ç½¤Ø¤Î¾Ò²ð¤òÍ¿¤¨¤ë¡£

6.1 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È¤ÎľÀÜŪÁàºî  
6.2 ÂåÆþ  
6.3 ɾ²Á¤Ë´Ø¤¹¤ëÄɲà 
6.4 ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Îɾ²Á  
6.5 ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁàºî  
6.6 ´Ø¿ô¤ÎÁàºî  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È¤ÎľÀÜŪÁàºî

Êѹ¹¤ËÂФ·¤ÆÍøÍѤǤ­¤ë»°¼ïÎà¤Î¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È¡¢¸Æ¤Ó½Ð¤·(call)¡¢É½¸½¼°(expression)¤½¤·¤Æ´Ø¿ô(function)¡¢¤¬¤¢¤ë¡£ ¤³¤³¤Ç¤Ï¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Î¤ßÃíÌܤ¹¤ë¡£ ¤³¤ì¤é¤Ï¤·¤Ð¤·¤Ð"̤ɾ²Áɽ¸½¼°"¤È¤â¸Æ¤Ð¤ì¤ë¤¬¡¢¤³¤Îɽ¸½¤Ï¾¯¡¹º®Íð¤ò¾·¤¯¡£ ¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤òÆÀ¤ëºÇ¤âľÀÜŪ¤ÊÊýË¡¤Ï quote ¤òɽ¸½¼°°ú¿ô¤ÇÍѤ¤¤ë¤³¤È¤Ç¤¢¤ë¡¢¤Ä¤Þ¤ê¡¢

 
> e1 <- quote(2 + 2)
> e2 <- quote(plot(x, y))

°ú¿ô¤Ïɾ²Á¤µ¤ì¤º¡¢·ë²Ì¤Ïñ¤Ë¹½Ê¸²òÀϤµ¤ì¤¿°ú¿ô¤Ç¤¢¤ë¡£ ¥ª¥Ö¥¸¥§¥¯¥È e1 ¤È e2 ¤Ï¸å¤Ç eval ¤òÍѤ¤¤ë¤«¡¢¤Þ¤¿¤Ïñ¤Ë¥Ç¡¼¥¿¤È¤·¤Æ °·¤¦¤³¤È¤Çɾ²Á¤Ç¤­¤ë¡£¶²¤é¤¯¤Ê¤¼ e2 ¥ª¥Ö¥¸¥§¥¯¥È¤¬¥â¡¼¥É "call" ¤ò»ý¤Ä¤«¤Ï¡¢ ¤½¤ì¤¬¤¢¤ë°ú¿ô¤òȼ¤Ã¤¿ plot ´Ø¿ô¤Ø¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤à¤Î¤Ç¡¢¤¹¤°¤µ¤ÞÍý²ò¤µ¤ì¤ë¤Ç¤¢¤í¤¦¡£ ¤·¤«¤·¤Ê¤¬¤é e1 ¤Ï¡¢¼¡¤ÎÎã¤ÇÌÀ¤é¤«¤Ë¼¨¤µ¤ì¤ë¤è¤¦¤Ë¡¢¼ÂºÝ¤Ë¤ÏÆó¤Ä¤Î°ú¿ô¤ò»ý¤ÄÆó¹à±é»»»Ò + ¤Ø¤Î¸Æ¤Ó½Ð¤·¤È Á´¤¯Æ±¤¸¹½Â¤¤ò¤â¤Ä¡£

¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ®Ê¬¤Ï¥ê¥¹¥È-É÷¤Î¹½Ê¸¤òÍѤ¤¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ç¤¢¤ê¡¢¼ÂºÝ as.list ¤È as.call ¤òÍѤ¤¤Æ¥ê¥¹¥È¤Ø¡¢¤½¤·¤Æ¥ê¥¹¥È¤«¤éÊÑ´¹¤Ç¤­¤ë¡£

 
> e2[[1]]
plot
> e2[[2]]
x
> e2[[3]]
y

¥­¡¼¥ï¡¼¥É°ú¿ô¾È¹ç¤¬»È¤ï¤ì¤ë¤È¡¢¥­¡¼¥ï¡¼¥É¤Ï¥ê¥¹¥È¥¿¥°¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡§

 
> e3 <- quote(plot(x = age, y = weight))
> e3$x
age
> e3$y
weight

Àè¤ÎÎã¤Ç¤Ï¡¢¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁ´¤Æ¤ÎÀ®Ê¬¤Ï¥â¡¼¥É "name" ¤ò»ý¤Ä¡£ ¤³¤ì¤Ï¸Æ¤Ó½Ð¤·Ãæ¤Î¼±Ê̻ҤËÂФ·¤Æ¤Ï¿¿¤Ç¤¢¤ë¤¬¡¢¸Æ¤Ó½Ð¤·¤ÎÀ®Ê¬¤Ï¤Þ¤¿Äê¿ô¤Ç¤¢¤Ã¤Æ¤âÎɤ¯¡¢¤½¤ì¤ÏÇ¡²¿¤Ê¤ë·¿¤Ç¤¢¤Ã¤Æ¤â Îɤ¤¡£¤·¤«¤·¤Ê¤¬¤é¡¢¸Æ¤Ó½Ð¤·¤¬À®¸ùΣ¤Ëɾ²Á¤µ¤ì¤ë¤¿¤á¤Ë¤ÏºÇ½é¤ÎÀ®Ê¬¤Ï´Ø¿ô¡¢¤â¤·¤¯¤ÏÉûɽ¸½¼°¤ËÂбþ¤¹¤ë¾¤Î ¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ç¤¢¤ë¤Û¤¦¤¬¹¥¤Þ¤·¤¤¡£ ¥â¡¼¥É̾¥ª¥Ö¥¸¥§¥¯¥È¤Ïʸ»úÎ󤫤é as.name ¤òÍѤ¤¤Æ¹½À®¤Ç¤­¡¢¤·¤¿¤¬¤Ã¤Æ e2 ¥ª¥Ö¥¸¥§¥¯¥È ¤ò¼¡¤Î¤è¤¦¤Ë½¤Àµ¤Ç¤­¤ë

 
> e2[[1]] <- as.name("+")
> e2
x + y

Éûɽ¸½¼°¤¬¤½¤ì¼«¿È¸Æ¤Ó½Ð¤·¤Ç¤¢¤ëñ¤Ê¤ëÀ®Ê¬¤Ç¤¢¤ë¤È¤¤¤¦»ö¼Â¤ò²òÀ⤹¤ë¤¿¤á¤Ë¡¢¼¡¤ÎÎã¤ò¹Í¤¨¤è¤¦

 
> e1[[2]] <- e2
> e1
x + y + 2

°ì¤Ä¤ÎÃí°Õ¤¹¤Ù¤­ÅÀ¤Ï R ¤ÎµÕ¹½Ê¸²òÀÏ´ï¤Ïɽ¸½¼°¤Î³ç¸Ì¤òÊä¤ï¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£ ¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤È

 
> e1 <- quote(4 - 2)
> e1[[3]] <- quote(2 - 2) # replacing the `2'
> e1
4 - 2 - 2

e1 ¤Ï¼ÂºÝ¤Ë¤Ïº¸Ï¢·ëµ¬Â§¤¬¼¨º¶¤¹¤ë¤è¤¦¤Ë 4 - (2 - 2) ¤Ç¤Ï¤Ê¤¯ (4 - 2) - 2 ¤È¤Ê¤ë¡£¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¤òɾ²Á¤¹¤ë¤È¼«¤º¤«¤éÌÀ¤é¤«¤Ë¤Ê¤ë

 
> eval(e1)
[1] 4

ÆþÎÏÃæ¤ÎÁ´¤Æ¤Î¥°¥ë¡¼¥Ô¥ó¥°Íѳç¸Ì¤Ï¹½Ê¸²òÀϤµ¤ì¤¿É½¸½¼°Ãæ¤ËÊݸ¤µ¤ì¤ë¡£ ¤½¤ì¤é¤Ïñ°ì¤Î°ú¿ô¤ò»ý¤Ä´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤·¤ÆÉ½¸½¤µ¤ì¡¢¤·¤¿¤¬¤Ã¤Æ 4 - (2 - 2) ¤ÏÁ°ÃÖɽµ­¤Ç "-"(4, "(" ("-"(2, 2))) ¤È¤Ê¤ë¡£

¤³¤ì¤Ï¾¯¡¹ÉÔ¹¬¤Ê¤³¤È¤Ç¤¢¤ë¤¬¡¢¥æ¡¼¥¶¡¼¤ÎÆþÎϤòÊݸ¤·¡¢¤½¤ì¤òºÇ¾®¤Î·Á¼°¤ÇÊݴɤ·¡¢µÕ¹½Ê¸²òÀϤµ¤ì¤¿É½¸½¼°¤ò¹½Ê¸²òÀÏ ¤¹¤ë¤ÈÁ°¤ÈƱ¤¸É½¸½¤Ë¤Ê¤ë¤è¤¦¤Ê¡¢¹½Ê¸¡¦µÕ¹½Ê¸²òÀÏ´ï¤ò½ñ¤¯¤³¤È¤Ï°×¤·¤¯¤Ï¤Ê¤¤¡£

¼¡¤ÎÎ㤬¼¨¤¹¤è¤¦¤Ë¡¢º¤¤Ã¤¿¤³¤È¤Ë R ¤Î¹½Ê¸²òÀÏ´ï¤âµÕ¹½Ê¸²òÀÏ´ï¤â´°Á´¤Ë¤Ï²ÄµÕ¤Ç¤Ê¤¤¡£

 
> deparse(quote(c(1, 2)))
[1] "c(1, 2)"
> deparse(1:2)
[1] "c(1, 2)"
> quote("-"(2, 2))
2 - 2
> quote(2 - 2)
2 - 2

¤·¤«¤·¤Ê¤¬¤é, ¹½Ê¸¡¦µÕ¹½Ê¸²òÀÏ´ï¤Ï´ðËÜŪ¤Êɽ¸½¼°¤ËÂФ·¤Æ¤Ï¤«¤Ê¤êÍ¥¤ì¤¿»Å»ö¤ò¤¹¤ë¡£

...ή¤ìÀ©¸æ¹½Â¤Êª¤ÎÆâÉôÊÝ´É... Splus ¤È¤ÎÈó¸ß´¹À­¤òÃí°Õ¤¹¤ë...


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 ÂåÆþ

¼ÂºÝ¤ÏÀè¤ÎÀá¤Ë±÷¤±¤ë¤è¤¦¤Ê¤¢¤ëɽ¸½¼°¤ÎÆâÍÆ¤ò½¤Àµ¤·¤¿¤¯¤Ê¤ë¤³¤È¤Ï¤½¤ó¤Ê¤Ë¿¤¯¤Ï¤Ê¤¤¡£ ¤è¤ê¿¤¯¤Ï¡¢µÕ¹½Ê¸²òÀϤ·¡¢¤½¤·¤Æ¤½¤ì¤òÎ㤨¤Ð¥×¥í¥Ã¥È¤Î¥é¥Ù¥ë¤Ë»È¤¦¤¿¤á¤Ëñ¤Ëɽ¸½¼°¤ò ÆÀ¤¿¤¤¤³¤È¤ÎÊý¤¬Â¿¤¤¡£ ¤³¤ì¤Î°ì¤Ä¤ÎÎã¤Ï plot.default ¤ÎºÇ½é¤ÎÉôʬ¤Ç¸«¤é¤ì¤ë:

 
xlabel <- if (!missing(x))
    deparse(substitute(x))

¤³¤ì¤Ï plot ¤Î x °ú¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿ÊÑ¿ô¤Þ¤¿¤Ïɽ¸½¼°¤ò ¸å¤Ç x-¼´¤Î¥é¥Ù¥ë¤È¤·¤Æ»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¡£

¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë´Ø¿ô¤Ï substitute ¤Ç¡¢É½¸½¼° x ¤ò°ú¿ô¤Ë¼è¤ê¡¢ ·Á¼°Åª°ú¿ô x ¤òÄ̤¸¤Æ°ú¤­ÅϤµ¤ì¤¿É½¸½¼°¤òÂåÆþ¤¹¤ë¡£ ¤³¤ì¤¬¤¦¤Þ¤¯Æ¯¤¯¤¿¤á¤Ë¤Ï x ¤Ï¤½¤ÎÃͤò¤Ä¤¯¤ê½Ð¤·¤¿É½¸½¼°¤Ë´Ø¤¹¤ë¾ðÊó¤òÈ÷¤¨¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò Ãí°Õ¤·¤è¤¦¡£¤³¤ì¤Ï R ¤ÎÃÙ±äɾ²Áµ¡¹½(@xref{ͽÌ󥪥֥¸¥§¥¯¥È})¤È´ØÏ¢¤·¤Æ¤¤¤ë¡£ ·Á¼°Åª°ú¿ô¤Ï¼ÂºÝ¤ÏÆó¤Ä¤Î¥¹¥í¥Ã¥È¤ò»ý¤ÄͽÌ󥪥֥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢°ì¤Ä¤Ï¤½¤ì¤òÄêµÁ¤¹¤ëɽ¸½¼°ÍѤǤ¢¤ê¡¢ ¤â¤¦°ì¤Ä¤Ï¤½¤Îɽ¸½¼°¤ÎÃÍÍѤǤ¢¤ë¡£substitute ¤ÏͽÌóÊÑ¿ô¤òǧ¼±¤·¡¢¤½¤Îɽ¸½¼°¥¹¥í¥Ã¥È¤ÎÃͤò ÂåÆþ¤¹¤ë¡£¤â¤· substitute ¤¬¤¢¤ë´Ø¿ô¤ÎÆâÉô¤Çµ¯Æ°¤µ¤ì¤ë¤È¡¢¤½¤Î´Ø¿ô¤Î¶É½ê°ú¿ô¤Ï ƱÍͤËÂåÆþ¤ÎÂоݤȤʤ롣

substitute ¤Ø¤Î°ú¿ô¤Ïñ½ã¤Ê¼±Ê̻ҤǤ¢¤ëɬÍפÏ̵¤¯¡¢Ê£¿ô¤ÎÊÑ¿ô¤ò´Þ¤àɽ¸½¼°¤Ç¤¢¤Ã¤ÆÎɤ¯¡¢ ÂåÆþ¤Ï¤³¤ì¤é¤Î³Æ¡¹¤ËÂФ·¤Æµ¯¤³¤ë¡£¤Þ¤¿ substitute ¤ÏÄɲäΰú¿ô¤ò»ý¤Á¡¢¤³¤ì¤ÏÊÑ¿ô¤¬¤½¤ÎÃæ¤Ç¸¡º÷¤µ¤ì¤ë ´Ä¶­¤â¤·¤¯¤Ï¥ê¥¹¥È¤Ç¤¢¤Ã¤ÆÎɤ¤¡£

 
> substitute(a + b, list(a = 1, b = quote(x)))
1 + x

x ¤òÂåÆþ¤¹¤ë¤¿¤á¤Ë¤Ï°úÍѲ½¤¬É¬Íפʤ³¤È¤òÃí°Õ¤·¤è¤¦¡£¤³¤Î¼ï¤Î¹½À®Ë¡¤Ï¡¢¼¡¤ÎÎ㤬¼¨¤¹¤è¤¦¤Ë¡¢ ¥°¥é¥ÕÃæ¤Ë¿ô³ØÅªÉ½¸½¤òÃÖ¤¯¤¿¤á¤Îµ¡Ç½¤È¤È¤Î´ØÏ¢¤ÇÊØÍø¤È¤Ê¤ë¡£

 
> plot(0)
> for (i in 1:4)
+   text(1, 0.2 * i,
+        substitute(x[ix] == y, list(ix = i, y = pnorm(i))))

ÂåÆþ¤Ï½ã¿è¤Ë¸ì×ÃŪ¤Ç¤¢¤ë¤³¤È¤òÍý²ò¤¹¤ë¤³¤È¤¬½ÅÍפǤ¢¤ë¡¨ ·ë²Ì¤Î¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤¬É¾²Á¤µ¤ì¤¿¤È¤­°ÕÌ£¤ò¤Ê¤¹¤«¤É¤¦¤«¤Ï¸¡ºº¤µ¤ì¤Ê¤¤¡£ substitute(x <- x + 1, list(x = 2)) ¤Ï̵¼Ùµ¤¤Ë 2 <- 2 + 1 ¤òÊÖ¤¹¡£¤·¤«¤·¤Ê¤¬¤é R ¤Î°ìÉôʬ¤Ï²¿¤¬°ÕÌ£¤ò»ý¤Ä¤«¡¦»ý¤¿¤Ê¤¤¤«¤ËÉÕ¤¤¤ÆÆÈ¼«¤Îµ¬Â§¤ò»ý¤Ã¤Æ¤ª¤ê¡¢ ¤½¤¦¤·¤¿ÉÔÀ°¹ç¤Êɽ¸½¼°¤ò¼ÂºÝ¤Ë»È¤Ã¤Æ¤·¤Þ¤¦¤«¤âÃΤì¤Ê¤¤¡£ ¤¿¤È¤¨¤Ð"¥°¥é¥ÕÃæ¤Î¿ô¼°"µ¡Ç½¤Ï `{}>=40*" years"' ¤È¤¤¤Ã¤¿¡¢¹½Ê¸Åª¤Ë¤ÏÀµ³Î¤À¤¬ ɾ²Á¤¹¤ë¤È̵°ÕÌ£¤Ë¤Ê¤ë¹½À®¤ò¤·¤Ð¤·¤Ð´Þ¤à¡£

ÂåÆþ¤Ï¤½¤ÎºÇ½é¤Î°ú¿ô¤òɾ²Á¤·¤Ê¤¤¡£¤³¤ì¤ÏÊÑ¿ôÃæ¤Ë´Þ¤Þ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·ÂåÆþ¤ò¤É¤Î¤è¤¦¤Ë¤·¤Æ ¹Ô¤¦¤«¤È¤¤¤¦¥Ñ¥º¥ë¤ò¤â¤¿¤é¤¹¡£²ò·èË¡¤Ï¼¡¤ÎÎã¤Î¤è¤¦¤Ë substitute ¤ò¤â¤¦°ìÅٻȤ¦¤³¤È¤Ç¤¢¤ë

 
> expr <- quote(x + y)
> substitute(substitute(e, list(x = 3)), list(e = expr))
substitute(x + y, list(x = 3))
> eval(substitute(substitute(e, list(x = 3)), list(e = expr)))
3 + y

ÂåÆþ¤ÎÀµ³Î¤Êµ¬Â§¤Ï¼¡¤Î¤È¤¦¤ê¤Ç¤¢¤ë: ¹½Ê¸²òÀÏÌÚÃæ¤Î³Æ¥·¥ó¥Ü¥ë¤ÏºÇ½é ÂèÆó°ú¿ô¤ËÂФ·¤Æ¾È¹ç¤µ¤ì¤ë¡£ÂèÆó°ú¿ô¤Ï¥¿¥°ÉÕ¤­¤Î¥ê¥¹¥È¤Þ¤¿¤Ï´Ä¶­¥Õ¥ì¡¼¥à¤Ç¤¢¤Ã¤ÆÎɤ¤¡£ ¤â¤·¤½¤ì¤¬Ã±½ã¤Ê¶É½ê¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤é¤Ð, Âç¶É۴Ķ­¤ËÂФ·¤Æ¥Þ¥Ã¥Á¤¹¤ë¾ì¹ç¤ò½ü¤­¡¢¤½¤ÎÃͤ¬ÁÞÆþ¤µ¤ì¤ë¡£ ¤â¤·¤½¤ì¤¬Í½Ìó(ÉáÄÌ´Ø¿ô°ú¿ô)¤Ê¤é¤ÐͽÌóɽ¸½¼°¤¬ÂåÆþ¤µ¤ì¤ë¡£¤â¤·¥·¥ó¥Ü¥ë¤¬¥Þ¥Ã¥Á¤·¤Ê¤±¤ì¤Ð¡¢¤½¤ì¤Ï¤½¤Î¤Þ¤Þ¤Ë ¤µ¤ì¤ë¡£¥È¥Ã¥×¥ì¥Ù¥ë¤Ë¤ª¤±¤ëÂåÆþ¤ËÂФ¹¤ëÆÃ¼ì¤ÊÎã³°¤ÏÀµÄ¾¤Ê¤È¤³¤í´ñ̯¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï S ¤«¤é°ú¤­·Ñ¤¬¤ì¤Æ¤ª¤ê¡¢º¬ËÜŪÍýͳ¤Ï¶²¤é¤¯¡¢ÊÑ¿ô¤¬¤½¤Î¥ì¥Ù¥ë¤Ç¹´Â«¤µ¤ì¤ë¤Ù¤­À©¸æ¤¬Â¸ºß¤»¤º¡¢ ¤·¤¿¤¬¤Ã¤ÆÂåÆþ¤òñ¤Ë quote ¤È¤·¤Æ¿¶Éñ¤ï¤»¤ë¤Î¤¬¹¥¤Þ¤·¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¢¤í¤¦¡£

ͽÌóÂåÆþ¤Îµ¬Â§¤Ï¡¢¤â¤·¶É½êÊÑ¿ô¤¬ substitute ¤¬»È¤ï¤ì¤ëÁ°¤Ë½¤Àµ¤µ¤ì¤ë¤È¡¢ S ¤Î¤½¤ì¤È¾¯¡¹°Û¤Ê¤ë¡£R ¤Ï¤½¤¦¤·¤¿»þÊÑ¿ô¤Î¿·¤·¤¤Ãͤò»È¤¦¤¬¡¢°ìÊý S ¤Ï¡¢¤½¤ì¤¬Äê¿ô¤Ç¤Ê¤¤¸Â¤ê¡¢Ìµ¾ò·ï¤Ë°ú¿ô¤Îɽ¸½¼°¤ò»È¤¦¡£¤³¤ì¤Ï S ¤Ç¤Ï f((1)) ¤¬ f(1) ¤ÈÈó¾ï¤Ë°Û¤Ê¤ë¤È¤¤¤¦´ñ̯¤Ê·ëÏÀ¤ò¤â¤¿¤é¤¹¡£R ¤Îµ¬Â§¤Ï¤è¤êÌÀÚò¤Ç¤¢¤ë¤¬¡¢ ¤·¤«¤·¤Ê¤¬¤éÃÙ±äɾ²Á¤È¤Î´ØÏ¢¤Ç¶Ã¤¯¤è¤¦¤Ê·ë²Ì¤ò¤â¤¿¤é¤¹¡£¼¡¤ÎÎã¤ò¹Í¤¨¤è¤¦

 
logplot <- function(y, ylab = deparse(substitute(y))) {
    y <- log(y)
    plot(y, ylab = ylab)
}

¤³¤ì¤Ïñ½ãÌÀ²÷¤Ç¤¢¤ë¤è¤¦¤Ë»×¤ï¤ì¤ë¤¬¡¢y ¥é¥Ù¥ë¤¬½¹¤¤ c(...) ¤È¤¤¤¦É½¸½¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò µ¤¤Å¤¯¤Ç¤¢¤í¤¦¡£¤³¤ì¤ÏÃÙ±äɾ²Á¤¬ ylab ¤¬Êѹ¹¤µ¤ì¤¿¸å¤Ç ylab ɽ¸½¼°¤òɾ²Á ¤¹¤ë¤³¤È¤Ë¤è¤ë¡£²ò·èºö¤Ï ylab ¤òºÇ½é¤Ëɾ²Á¤¹¤ë¤è¤¦¤Ë¶¯À©¤¹¤ë¤³¤È¤Ç¤¢¤ë¡¢¤Ä¤Þ¤ê

 
logplot <- function(y, ylab = deparse(substitute(y))) {
    ylab
    y <- log(y)
    plot(y, ylab = ylab)
}

¤³¤ÎÂåÆþ¤Ç¤Ï eval(ylab) ¤ò»È¤¦¤Ù¤­¤Ç¤Ï¤Ê¤¤¤³¤È¤òÃí°Õ¤·¤è¤¦¡£¤â¤· ylab ¤¬¸À¸ì¤â¤·¤¯¤Ïɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Ê¤é¤Ð¡¢¤³¤ì¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤â¤Þ¤¿É¾²Á¤·¤Æ¤·¤Þ¤¦¤¬¡¢ ¤³¤ì¤Ï¤â¤· quote(log[e](y)) ¤È¤¤¤Ã¤¿¿ô³Ø¼°¤¬°ú¤­ÅϤµ¤ì¤¿¤È¤­¤Ï·è¤·¤ÆË¾¤Þ¤·¤¤¤³¤È¤Ç¤Ï¤Ê¤¤¤À¤í¤¦¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 ɾ²Á¤Ë´Ø¤¹¤ëÄɲÃ

eval ´Ø¿ô¤Ï¤³¤Î¾Ï¤ÎËÁƬ¤Ë¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤òɾ²Á¤¹¤ë¼êÃʤȤ·¤Æ¾Ò²ð¤µ¤ì¤¿¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤¬Á´¤Æ¤Ç¤Ï¤Ê¤¤¡£Æ±ÍͤËɾ²Á¤¬¹Ô¤ï¤ì¤ë´Ä¶­¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î´Ä¶­¤Î ´ûÄêÃÍ¤Ï eval ¤¬¤½¤³¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿É¾²Á¥Õ¥ì¡¼¥à¤Ç¤¢¤ë¤¬¡¢ÉÑÈˤ˾¤Î¤â¤Î¤ò ÀßÄꤹ¤ëɬÍפ¬µ¯¤­¤ë¡£

´Ø·¸¤¹¤ëɾ²Á¥Õ¥ì¡¼¥à¤¬¸½ºß¤Î¥Õ¥ì¡¼¥à¤Î¿Æ¤Î¤½¤ì¤Ç¤¢¤ë¤³¤È¤¬Îɤ¯¤¢¤ë(cf. ???)¡£ ÆÃ¤Ë¡¢É¾²Á¤µ¤ì¤ë¤Ù¤­¥ª¥Ö¥¸¥§¥¯¥È¤¬´Ø¿ô¤Î°ú¿ô¤Î substitute Áàºî¤Î·ë²Ì¤Ç¤¢¤ë¤È¤­¡¢ ¤½¤ì¤¬¸Æ¤Ó½Ð¤·Â¦¤Ë¤È¤Ã¤Æ¤À¤±°ÕÌ£¤ò»ý¤ÄÊÑ¿ô¤ò´Þ¤à¤Ç¤¢¤í¤¦(¸Æ¤Ó½Ð¤·Â¦¤ÎÊÑ¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿Â¦¤Î lexical ¥¹¥³¡¼¥×¤Ë¤¢¤ë¤³¤È¤ò´üÂÔ¤¹¤ëÇ¡²¿¤Ê¤ëÍýͳ¤â̵¤¤¤³¤È¤òÃí°Õ¤·¤è¤¦)¡£¿Æ¥Õ¥ì¡¼¥àÃæ¤Ç ɾ²Á¤¹¤ë¤³¤È¤ÏÉÑÈˤ˵¯¤³¤ë¤Î¤Ç eval(expr, sys.frame(sys.parent())) ¤Ë ÂФ¹¤ë´Êά·Á¤È¤·¤Æ eval.parent ´Ø¿ô¤¬Â¸ºß¤¹¤ë¡£

¤·¤Ð¤·¤Ðµ¯¤­¤ë¤â¤¦°ì¤Ä¤Î¥±¡¼¥¹¤Ï¥ê¥¹¥È¤â¤·¤¯¤Ï¥Ç¡¼¥¿¥Õ¥ì¡¼¥àÃæ¤Ç¤Îɾ²Á¤Ç¤¢¤ë¡£ Î㤨¤Ð¡¢¤³¤ì¤Ï data °ú¿ô¤¬Í¿¤¨¤é¤ì¤¿¤È¤­¤Î model.frame ´Ø¿ô¤È¤Î´ØÏ¢¤Çµ¯¤­¤ë¡£ °ìÈ̤ˡ¢¥â¥Ç¥ë¸ø¼°¤Î¹à¤Ï data Ãæ¤Çɾ²Á¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤¬¡¢ ¤È¤­¤È¤·¤Æ¤½¤ì¤é¤Ï¤Þ¤¿ model.frame ¤Î¸Æ¤Ó½Ð¤·Â¦¤ÎÃæ¤Î¹àÌܤؤλ²¾È¤ò´Þ¤à¤³¤È¤¬¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¤³¤Î¤¿¤á¤Ë¤Ï¥ê¥¹¥ÈÃæ¤Îɽ¸½¼°¤òɾ²Á¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢ÊÑ¿ô¤¬¥ê¥¹¥ÈÃæ¤Ë̵¤¤¾ì¹ç¤Ëõº÷¤ò ³¹Ô¤¹¤ëÊÄÊñ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£

 
eval(expr, data, sys.frame(sys.parent()))

Í¿¤¨¤é¤ì¤¿´Ä¶­Ð¦¤Ç¤Îɾ²Á¤Ï¼ÂºÝ¤Ë¤Ï¤½¤Î´Ä¶­¤òÊѹ¹¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£ ¤³¤ì¤Ï°Ê²¼¤Î¤è¤¦¤ÊÉÕÃͱ黻»Ò¤ò´Þ¤à¾ì¹ç¤ËÌÀÇò¤È¤Ê¤ë

 
eval(quote(total <- 0), environment(robert$balance)) # rob Rob

¤³¤ì¤Ï¤Þ¤¿¥ê¥¹¥ÈÃæ¤Çɾ²Á¤¹¤ëºÝ¤â¿¿¤Ç¤¢¤ë¤¬¡¢¤³¤ÎºÝ¤Ï¼ÂºÝ¤Ï¥³¥Ô¡¼¤ò°·¤Ã¤Æ¤¤¤ë¤¿¤á¸µ¤Î¥ê¥¹¥È¤ÏÊѤï¤ë¤³¤È¤Ï̵¤¤¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Îɾ²Á

¥â¡¼¥É "expression" ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï @xref{Expression objects} ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£¤³¤ì¤Ï¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤ÈÈó¾ï¤ËÎɤ¯»÷¤Æ¤¤¤ë¡£

 
> ex <- expression(2 + 2, 3 + 4)
> ex[[1]]
2 + 2
> ex[[2]]
3 + 4
> eval(ex)
[1] 7

ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Îɾ²Á¤Ï³Æ¸Æ¤Ó½Ð¤·¤ò½ç¤Ëɾ²Á¤¹¤ë¤¬¡¢ºÇ½ªÅª¤ÊÃͤϺǸå¤Î¸Æ¤Ó½Ð¤·¤Î¤½¤ì¤Ç¤¢¤ë¡£ ¤³¤ÎÅÀ¤ÇÊ£¹ç¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È quote({2 + 2; 3 + 4}) ¤È¤Û¤È¤ó¤ÉƱ¤¸ µóư¤ò»ý¤Ä¡£¤·¤«¤·¤Ê¤¬¤éÈù̯¤ÊÁê°ãÅÀ¤¬¤¢¤ë¡§ ¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤Ï¹½Ê¸²òÀÏÌÚÃæ¤Ç¤ÏÉûɽ¸½¼°¤ÈȽÊÌÉÔǽ¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¤½¤ì¤¬Éûɽ¸½¼°¤ÈƱ¤¸»ÅÊý¤Ç¼«Æ°Åª¤Ëɾ²Á¤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Ïɾ²Á¤Î´Ö¤âǧ¼±²Äǽ¤Ç¤¢¤ê¡¢¤¢¤ë°ÕÌ£¤Ç¤½¤Î°úÍѲ½¤µ¤ì¤¿¾õÂÖ¤òÊݤġ£ ɾ²Á´ï¤Ïɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤òºÆµ¢Åª¤Ë¤Ïɾ²Á¤»¤º¡¢¤½¤¦¤Ê¤ë¤Î¤Ï¤½¤ì¤¬¾å¤Î¤è¤¦¤Ë eval ´Ø¿ô ¤ËľÀܰú¤­ÅϤµ¤ì¤¿¤È¤­¤À¤±¤Ç¤¢¤ë¡£ ¤³¤Î°ã¤¤¤Ï¼¡¤ÎÎã¤Ç¸«¤é¤ì¤ë¡§

 
> eval(substitute(mode(x), list(x = quote(2 + 2))))
[1] "numeric"
> eval(substitute(mode(x), list(x = expression(2 + 2))))
[1] "expression"

µÕ¹½Ê¸²òÀÏ´ï¤Ïɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤ò¡¢¤½¤ì¤òÀ¸¤ß½Ð¤·¤¿¸Æ¤Ó½Ð¤·¤Ë¤è¤êɽ¸½¤¹¤ë¡£ ¤³¤ì¤Ï¤½¤ì¤¬¿ôÃÍ¥Ù¥¯¥È¥ë¤äÆÃÊ̤ʳ°Éôɽ¸½¤ò»ý¤¿¤Ê¤¤´ö¤Ä¤«¤Î¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò°·¤¦¤Î¤È»÷¤¿¤ä¤êÊý¤Ç¤¢¤ë¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤Ï¼¡¤Î¤è¤¦¤Ê¤Á¤ç¤Ã¤È¤·¤¿º®Íð¤ò¾·¤¯¡£

 
> e <- quote(expression(2 + 2))
> e
expression(2 + 2)
> mode(e)
[1] "call"
> ee <- expression(2 + 2)
> ee
expression(2 + 2)
> mode(ee)
[1] "expression"

¤Ä¤Þ¤ê e ¤È ee ¤Ï½ÐÎϤµ¤ì¤ë¤ÈƱ¤¸¤Ë¸«¤¨¤ë¤¬¡¢°ìÊý¤Ïɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤¿ ¸Æ¤Ó½Ð¤·¤Ç¤¢¤ê¡¢Â¾Êý¤Ï¥ª¥Ö¥¸¥§¥¯¥È¼«¿È¤Ç¤¢¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.5 ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁàºî

¼¡¤Îñ¤Ë¤½¤ì¼«¿È¤Î¸Æ¤Ó½Ð¤·¤òÊÖ¤¹´Ø¿ô¤ÎÎã¤Ç¸«¤é¤ì¤ë¤è¤¦¤Ë¡¢sys.call ¤Î·ë²Ì¤òį¤á¤ë¤³¤È¤Ë¤è¤ê¡¢ ¤¢¤ë´Ø¿ô¤¬¤É¤Î¤è¤¦¤Ë¤·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿¤«¤ò¸«ÉÕ¤±¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£

 
> f <- function(x, y, ...) sys.call()
> f(y = 1, 2, z = 3, 4)
f(y = 1, 2, z = 3, 4)

¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤Ï¸Æ¤Ó½Ð¤·¤ò²ò¼á¤¹¤ë¤¿¤á¤Ë´Ø¿ô¤¬°ú¿ô¤Î¾È¹ç·ë²Ì¤òµ­Ï¿¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ ¤È¤¤¤¦°ÕÌ£¤Ç¡¢¥Ç¥Ð¥Ã¥°¤ÎÌÜŪ¤ò½ü¤¤¤Æ¤Ï¼ÂºÝ¤ÏÍ­ÍѤǤʤ¤¡£ Î㤨¤Ð¡¢ÆóÈÖÌܤμºݤΰú¿ô¤¬ºÇ½é¤Î·Á¼°Åª¤Ê¤½¤ì(¾å¤ÎÎã¤Ç¤Ï x)¤Ë¥Þ¥Ã¥Á¤µ¤ì¤¿¤³¤È¤¬¤ï¤«¤ëɬÍפ¬¤¢¤ë¡£

¤è¤êÉÑÈˤˤϡ¢Á´¤Æ¤Î¼ÂºÝ¤Î°ú¿ô¤¬Âбþ¤¹¤ë¸ø¼°¤Ë¹´Â«¤µ¤ì¤¿¸Æ¤Ó½Ð¤·¤òɬÍפȤ¹¤ë¡£ ¤³¤Î¤¿¤á¤Ë¤Ï´Ø¿ô match.call ¤¬ÍѤ¤¤é¤ì¤ë¡£ ¼¡¤ÏÀè¤ÎÎã¤ÎÊÑ·Á¤Ç¤¢¤ê¡¢°ú¿ô¾È¹çºÑ¤ß¤Î¤½¤ì¼«¿È¤Î¸Æ¤Ó½Ð¤·¤òÊÖ¤¹´Ø¿ô¤Ç¤¢¤ë¡£

 
> f <- function(x, y, ...) match.call()
> f(y = 1, 2, z = 3, 4)
f(x = 2, y = 1, z = 3, 4)

ÆóÈÖÌܤΰú¿ô¤¬¤³¤³¤Ç¤Ï x ¤Ë¥Þ¥Ã¥Á¤µ¤ì·ë²Ì¤ÎÂбþ¤¹¤ë°ÌÃ֤˸½¤ï¤ì¤Æ¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

¤³¤Î¥Æ¥¯¥Ë¥Ã¥¯¤ÎÂè°ì¤Î»ÈÍÑË¡¤Ï¡¢´ö¤Ä¤«¤Î°ú¿ô¤¬½üµî¤µ¤ì¤¿¤êÄɲ䵤줿¤ê¤·¤¿¤«¤â¤·¤ì¤Ê¤¤¡¢Æ±¤¸°ú¿ô¤ò»ý¤Ä¾¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¤¢¤ë¡£ ŵ·¿Åª¤Ê±þÍѤ¬´Ø¿ô lm ¤ÎÀèÆ¬Éôʬ¤Ë¤¢¤ë¡£

 
    mf <- cl <- match.call()
    mf$singular.ok <- mf$model <- mf$method <- NULL
    mf$x <- mf$y <- mf$qr <- mf$contrasts <- NULL
    mf$drop.unused.levels <- TRUE
    mf[[1]] <- as.name("model.frame")
    mf <- eval(mf, sys.frame(sys.parent()))

·ë²Ì¤Î¸Æ¤Ó½Ð¤·¤Ï¤½¤Î¿Æ¥Õ¥ì¡¼¥à¤Çɾ²Á¤µ¤ì¡¢¤½¤³¤Ç¤Ï´Þ¤Þ¤ì¤ëɽ¸½¼°¤¬°ÕÌ£¤ò»ý¤Ä¤³¤È¤¬³Î¼Â¤Ç¤¢¤ë¤³¤È¤ò Ãí°Õ¤·¤è¤¦¡£¸Æ¤Ó½Ð¤·¤Ï¥ê¥¹¥È¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ°·¤¦¤³¤È¤¬¤Ç¤­¡¢¥ê¥¹¥È¤ÎºÇ½é¤ÎÍ×ÁǤϴؿô̾¡¢»Ä¤ê¤ÎÍ×ÁÇ¤Ï Âбþ¤¹¤ë·Á¼°Ì¾¤¬¥¿¥°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¼ÂºÝ¤Î°ú¿ôɽ¸½¼°¤Ç¤¢¤ë¡£ ¤³¤Î¤è¤¦¤Ë¡¢ÉÔÍפʰú¿ô¤ò¼è¤êµî¤ë¥Æ¥¯¥Ë¥Ã¥¯¤Ï¡¢Â裲¡¦£³¹Ô¤Ë¸«¤é¤ì¤ë¤è¤¦¤Ë¡¢NULL ¤òÂåÆþ¤¹¤ë¤³¤È¤Ç¤¢¤ê¡¢ °ú¿ô¤òÉÕ¤±²Ã¤¨¤ë¤Ë¤Ï¡¢Â裴¹Ô¤Î¤è¤¦¤Ë¡¢¥¿¥°ÉÕ¤­¤Î¥ê¥¹¥ÈÂåÆþ(¤³¤³¤Ç¤Ï drop.unused.levels = TRUE ¤ò°ú¤­ÅϤ¹) ¤ò¹Ô¤¦¡£ ¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Î̾Á°¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¾ì¹ç¤Î¤è¤¦¤Ë as.name("model.frame") ¹½À®¤ò»È¤¦¤«¡¢¤Þ¤¿¤Ï quote(model.frame) ¤òÍѤ¤¤Æ¡¢Ãͤ¬Ì¾Á°¤Ç¤¢¤ë¤³¤È¤òÊݾڤ·¤Æ¡¢¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤËÂåÆþ¤¹¤ë¡£

´Ø¿ô match.call ¤Ï¡¢ ¤â¤· FALSE ¤ËÀßÄꤵ¤ì¤ë¤ÈÁ´¤Æ¤Î `...' °ú¿ô¤ò¥¿¥° `...' ¤ò »ý¤Äñ°ì¤Î°ú¿ô¤Ë°ì³ç²½¤¹¤ë¥¹¥¤¥Ã¥Á¤Ç¤¢¤ë°ú¿ô expand.dots ¤ò»ý¤Ä¡£

 
> f <- function(x, y, ...) match.call(expand.dots = FALSE)
> f(y = 1, 2, z = 3, 4)
f(x = 2, y = 1, ... = list(z = 3, 4))

`...' °ú¿ô¤Ï¥ê¥¹¥È(Àµ³Î¤Ë¤ÏÂХꥹ¥È)¤Ç¤¢¤ê¡¢S ¤Ë±÷¤±¤ë¤è¤¦¤Ê list ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ç¤Ï̵¤¤¡£

 
> e1 <- f(y = 1, 2, z = 3, 4)$...
> e1
$z
[1] 3

[[2]]
[1] 4

¤³¤Î·Á¤Î match.call ¤ò»È¤¦Íýͳ¤Ïñ¤Ë¡¢Ç¤°Õ¤Î `...' °ú¿ô¤ò¼è¤ê½ü¤­¡¢¤½¤ì¤òÃΤé¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤ ´Ø¿ô¤Ë°ú¤­ÅϤµ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¢¤ë¡£¼¡¤ÎÎã¤Ï plot.formula ¤ò½ñ¤­´¹¤¨¤¿Îã¤Ç¤¢¤ë¡§

 
m <- match.call(expand.dots = FALSE)
m$... <- NULL
m[[1]] <- "model.frame"

¤è¤êÀºÌ¯¤Ê±þÍѤ¬ update.default ¤Ë¤¢¤ê¡¢¤½¤³¤Ç¤ÏÅö½é¤Î¸Æ¤Ó½Ð¤·Ãæ¤Ë¤¢¤ë°ú¿ô¤Ë°ì·¤¤¤Î¥ª¥×¥·¥ç¥ó°ú¿ô¤òÄɲᢠÊѹ¹¡¢¤â¤·¤¯¤Ï¾Ãµî¤¬²Äǽ¤Ç¤¢¤ë¡£

 
extras <- match.call(expand.dots = FALSE)$...
if (length(extras) > 0) {
    existing <- !is.na(match(names(extras), names(call)))
    for (a in names(extras)[existing]) call[[a]] <- extras[[a]]
    if (any(!existing)) {
        call <- c(as.list(call), extras[!existing])
        call <- as.call(call)
    }
}

extras[[a]] == NULL ¤Ç¤¢¤ë¾ì¹ç¤Ë¸ºß¤¹¤ë°ú¿ô¤ò¸ÄÊ̤ËÊѹ¹¤¹¤ë¾ì¹ç¤ÏÍÑ¿´¤¬¤¤¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£ Î㼨¤µ¤ì¤¿¤è¤¦¤Ë¶¯À©ÊÑ´¹¤ò¤·¤Ê¤¤¸Â¤ê¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ëÏ¢·ëÁàºî¤Ï¼ºÇÔ¤¹¤ë¡£¤³¤ì¤Ï¶²¤é¤¯¥Ð¥°¤Ç¤¢¤í¤¦¡£

¤â¤¦Æó¤Ä¤Î´Ø¿ô¤¬´Ø¿ô¸Æ¤Ó½Ð¤·¹½À®ÍѤ˸ºß¤¹¤ë¡¢¤Ä¤Þ¤ê call ¤È do.call ¤Ç¤¢¤ë¡£

´Ø¿ô call ¤ò»È¤Ã¤Æ´Ø¿ô̾¤È°ú¿ô¥ê¥¹¥È¤«¤é¸Æ¤Ó½Ð¤·¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

 
> x <- 10.5
> call("round", x)
round(10.5)

¤³¤Î¤è¤¦¤Ë¥·¥ó¥Ü¥ë¤Ç¤Ï¤Ê¤¯ x ¤ÎÃͤ¬¸Æ¤Ó½Ð¤·¤ËÁÞÆþ¤µ¤ì¤Æ¤ª¤ê¡¢round(x) ¤È¤ÏÁ´¤¯°Û¤Ê¤Ã¤¿¤â¤Î¤Ç¤¢¤ë¡£ ¤³¤Î·Á¼°¤ÏÌÇ¿¤Ë»È¤ï¤ì¤Ê¤¤¤¬¡¢´Ø¿ô̾¤¬Ê¸»úÊÑ¿ô¤È¤·¤ÆÆÀ¤é¤ì¤ë¾ì¹ç¤Ë¤Ï¤¿¤Þ¤ËÌò¤ËΩ¤Ä¡£

´Ø¿ô do.call ¤Ï»÷¤¿¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¤¬¡¢¸Æ¤Ó½Ð¤·¤ò¨ºÂ¤Ëɾ²Á¤·¡¢Á´¤Æ¤Î°ú¿ô¤ò´Þ¤à ¥â¡¼¥É "list" ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò°ú¿ô¤Ë¼è¤ë¡£ ¤³¤ì¤Î¼«Á³¤ÊÍÑË¡¤Ï cbind ¤Î¤è¤¦¤Ê´Ø¿ô¤ò¥ê¥¹¥È¤ä¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¤Î¤¹¤Ù¤Æ¤ÎÍ×ÁǤËŬÍѤ·¤¿¤¤¤È¤­¤Ç¤¢¤ë¡£

 
is.na.data.frame <- function (x) {
    y <- do.call("cbind", lapply(x, "is.na"))
    rownames(y) <- row.names(x)
    y
}

¾¤Î»ÈÍÑË¡¤Ï do.call("f", list(...)) ¤È¤¤¤Ã¤¿¹½À®¤ÎÊѼï¤ò´Þ¤à¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤Ï¼ÂºÝ¤Î´Ø¿ô¸Æ¤Ó½Ð¤·°ÊÁ°¤Î°ú¿ô¤Îɾ²Á¤ò´Þ¤ß¡¢ÃÙ±äɾ²Á¤Î¦ÌÌ¤ä´Ø¿ô¼«ÂΤؤÎÂåÆþ¤ò̵¸ú¤Ë¤¹¤ë ¤«¤âÃΤì¤Ê¤¤¤³¤È¤Ëα°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£Æ±ÍͤÎÃí°Õ¤¬ call ´Ø¿ô¤Ë¤âÅö¤Æ¤Ï¤Þ¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.6 ´Ø¿ô¤ÎÁàºî

¤·¤Ð¤·¤Ð´Ø¿ô¤äÊÄÊñ¤ÎÀ®Ê¬¤òÁàºî¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ì¤ÐÍ­ÍѤǤ¢¤ë¡£ R ¤Ï¤³¤ÎÌÜŪ¤Î¤¿¤á¤Ë°ìÁȤΥ¤¥ó¥¿¥Õ¥§¥¤¥¹¤òÄ󶡤¹¤ë¡£

body
´Ø¿ô¤ÎËÜÂΤǤ¢¤ëɽ¸½¼°¤òÊÖ¤¹¡£
formals
´Ø¿ô¤Ø¤Î·Á¼°ÅªÊÑ¿ô¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£¤³¤ì¤Ï pairlist ¤Ç¤¢¤ë¡£
environment
´Ø¿ô¤ËÉտ魯¤ë´Ä¶­¤òÊÖ¤¹¡£
body<-
¤³¤ì¤Ï´Ø¿ôËÜÂΤËÍ¿¤¨¤é¤ì¤¿É½¸½¼°¤ò¥»¥Ã¥È¤¹¤ë¡£
formals<-
·Á¼°Åª°ú¿ô¤ËÍ¿¤¨¤é¤ì¤¿¥ê¥¹¥È¤ò¥»¥Ã¥È¤¹¤ë¡£
´Ä¶­<-
´Ø¿ô¤Î´Ä¶­¤ò»ØÄꤵ¤ì¤¿´Ä¶­¤Ë¥»¥Ã¥È¤¹¤ë¡£

¤Þ¤¿´Ø¿ô¤Î´Ä¶­Ãæ¤Î°Û¤Ê¤Ã¤¿ÊÑ¿ô¤Î·ë¹ç¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢evalq(x<- 5, environment(f)) ¤È¤¤¤Ã¤¿ ¥³¡¼¥É¤ò»È¤¦¡£

¹¹¤Ë as.list ¤òÍѤ¤´Ø¿ô¥ê¥¹¥È¤ËÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ·ë²Ì¤Ï·Á¼°ÅªÊÑ¿ô¥ê¥¹¥È¤È´Ø¿ôËÜÂΤòÏ¢·ë¤·¤¿¤â¤Î¤Ë¤Ê¤ë¡£ µÕ¤Ë¡¢¤½¤¦¤·¤¿¥ê¥¹¥È¤Ï as.function ¤òÍѤ¤¤Æ´Ø¿ô¤ËÊÑ´¹¤Ç¤­¤ë¡£ ¤³¤Îµ¡Ç½¤Ï¼ç¤Ë S ¤È¤Î¸ß´¹À­¤Î¤¿¤á¤ËÍѰդµ¤ì¤Æ¤¤¤ë¡£ as.list ¤¬»ÈÍѤµ¤ì¤¿¤È¤­´Ä¶­¤Î¾ðÊ󤬼º¤ï¤ì¤ë¤³¤È¤È¡¢°ìÊý¤Ç as.function ¤Ï´Ä¶­¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤òµö¤¹°ú¿ô¤ò»ý¤Ä¤³¤È¤òÃí°Õ¤·¤è¤¦¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. ¥·¥¹¥Æ¥à¤È³°Éô¸À¸ì¤È¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹

7.1 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹  
7.2 ³°Éô¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹  
7.3 .Internal ¤È .Primitive  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹

¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹¤Ï R ´Ø¿ô system ¤òÍѤ¤¤Æ¤Ê¤µ¤ì¤ë¡£ ¾ÜºÙ¤Ï¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤ê°Û¤Ê¤ê(¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤ò¸«¤è)¡¢´Ö°ã¤¤¤Ê¤¯²¾Äê¤Ç¤­¤ë¤³¤È¤Ï¡¢ºÇ½é¤Î°ú¿ô¤Ï ¼Â¹Ô(ɬ¤º¤·¤â¥·¥§¥ë¤Ë¤è¤Ã¤Æ¤Ç¤Ï¤Ê¤¤)¤Î¤¿¤á¤Ë°ú¤­ÅϤµ¤ì¤ëʸ»úÎó command ¤Ç¤¢¤ê¡¢ Â裲°ú¿ô¤Ï¤â¤·¤½¤ì¤¬¿¿¤Ê¤éÌ¿Îá¤Î½ÐÎϤò R ¤Îʸ»úÎó¤Ë½¸¤á¤ë be internal ¤Ç¤¢¤ë¡£

´Ø¿ô system.time ¤¬ Ì¿Îá¼Â¹Ô¤Î½êÍÑ»þ´Ö¤òÃΤ뤿¤á¤Ë»È¤¨¤ë(¤·¤«¤·¤Ê¤¬¤éÍøÍѤǤ­¤ë¾ðÊó¤Ï Unix ¥¿¥¤¥×¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë ¸Â¤é¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤)¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 ³°Éô¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹

¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É¤òÍѤ¤¤Æ R ¤Ëµ¡Ç½¤ò²Ã¤¨¤ë¾ÜºÙ¤ËÉÕ¤¤¤Æ¤Ï section `¥·¥¹¥Æ¥à¤È³°Éô¸À¸ì¤È¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹' in Writing R Extensions ¤ò»²¾È¤Î¤³¤È¡£

´Ø¿ô .C ¤È .Fortran ¤Ï¡¢¹½ÃÛ»þ¤â¤·¤¯¤Ï dyn.load ¤ò»È¤Ã¤Æ R ¤Ë¥ê¥ó¥¯¤µ¤ì¤¿¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¥³¡¼¥É¤Ø¤Îɸ½àŪ¤Ê¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤òÄ󶡤¹¤ë¡£ ¤³¤ì¤é¤Ï¼ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿ C ¤È FORTRAN ¤Î¥³¡¼¥É¤Ë¤½¤ì¤¾¤ìÂбþ¤¹¤ë¤¬¡¢ .C ´Ø¿ô¤Ï C++ ¤Î¤è¤¦¤Ê C É÷¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤òÀ¸À®¤Ç¤­¤ë¾¤Î¸À¸ì¤ËÂФ·¤Æ¤â»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£

´Ø¿ô .Call ¤È .External ¤Ï¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥³¡¼¥É(¼ç¤Ë C ¥³¡¼¥É)¤ò»È¤Ã¤Æ R ¥ª¥Ö¥¸¥§¥¯¥È¤òÁàºî¤¹¤ë¤¿¤á¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤òÄ󶡤¹¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.3 .Internal ¤È .Primitive

.Internal ¤È .Primitive ¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤Ï¹½ÃÛ»þ¤Ë R ¤Ë ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ÆÁȤ߹þ¤Þ¤ì¤¿ C ¥³¡¼¥É¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë»È¤ï¤ì¤ë See section `.Internal ¤È .Primitive' in Writing R Extensions.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8. Îã³°½èÍý

R ¤ÎÎã³°½èÍýµ¡Ç½¤ÏÆó¤Ä¤Î¥á¥«¥Ë¥º¥à¤Ë¤è¤êÄ󶡤µ¤ì¤ë¡£T stop ¤ä warning ¤È¤¤¤Ã¤¿´Ø¿ô¤ÏľÀܤ˸ƤӽФ¹¤³¤È¤¬¤Ç¤­¡¢¤Þ¤¿ "warn" ¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤ÏÌäÂê¤Î½èÍý¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£

8.1 stop  
8.2 warning  
8.3 on.exit  
8.4 restart  
8.5 ¥¨¥é¡¼»þ¥ª¥×¥·¥ç¥ó  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.1 stop

stop ¤Î¸Æ¤Ó½Ð¤·¤Ï¸½ºß¤Îɽ¸½¼°¤Îɾ²Á¤òÄä»ß¤·¡¢ ¥á¥Ã¥»¡¼¥¸°ú¿ô¤ò½ÐÎϤ·¡¢¼Â¹Ô¤òºÇÀèÆ¬¤ËÌ᤹¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.2 warning

´Ø¿ô warning ¤Ïñ°ì¤Îʸ»úÎó°ú¿ô¤ò¼è¤ë¡£ warning ¤Î¸Æ¤Ó½Ð¤·¤Îµóư¤Ï¥ª¥×¥·¥ç¥ó "warn" ¤ÎÃͤ˰͸¤¹¤ë¡£ ¤â¤· "warn" ¤¬ÉéÃͤʤé·Ù¹ð¤Ï̵»ë¤µ¤ì¤ë¡£¤â¤·¤½¤ì¤¬Îí¤Ê¤é·Ù¹ð¤ÏÃßÀѤµ¤ì ºÇ¾å°Ì´Ø¿ô¤¬´°Î»¤·¤¿¤È¤­¤Ë½ÐÎϤµ¤ì¤ë¡£¤â¤·¤½¤ì¤¬ 1 ¤Ê¤é¤Ð·Ù¹ð¤Ï¤½¤Î¤¿¤Ó¤Ë½ÐÎϤµ¤ì¡¢ ¤â¤· 2 (¤Þ¤¿¤Ï¤½¤ì°Ê¾å)¤Ê¤é¤Ð·Ù¹ð¤Ï¥¨¥é¡¼¤ËÊѤï¤ë¡£

¤â¤· "warn" ¤¬Îí(´ûÄêÃÍ)¤Ê¤é¤Ð¡¢ºÇ¾å°ÌÊÑ¿ô last.warning ¤¬ºî¤ê½Ð¤µ¤ì¡¢ warning ¤Î¸Æ¤Ó½Ð¤·¤Ëȼ¤¦³Æ¥á¥Ã¥»¡¼¥¸¤Ï¤³¤Î¥Ù¥¯¥È¥ë¤ËÃ༡ÃßÀѤµ¤ì¤ë¡£ ¤â¤··Ù¹ð¤Î¿ô¤¬ 10 ̤Ëþ¤Ê¤é¤Ð´Ø¿ô¤Îɾ²Á¤¬½ªÎ»¤·¤¿ºÝ¤Ë½ÐÎϤµ¤ì¤ë¡£ ¤â¤· £±£° °Ê¾å¤Î·Ù¹ð¤¬¤¢¤ì¤Ð´ö¤Ä·Ù¹ð¤¬¤¢¤Ã¤¿¤«¤¬½ÐÎϤµ¤ì¤ë¡£¤É¤Á¤é¤Î¾ì¹ç¤â last.warning ¤Ï¥á¥Ã¥»¡¼¥¸¤Î¥Ù¥¯¥È¥ë¤òÊÝ»ý¤·¤Æ¤¤¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.3 on.exit

°ì¤Ä¤Î´Ø¿ô¤Ï¤½¤ÎËÜÂΤΤɤ³¤Ë¤Ç¤â on.exit ¤Î¸Æ¤Ó½Ð¤·¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤ë¡£ on.exit ¤Î¸Æ¤Ó½Ð¤·¤Î¸ú²Ì¤Ï´Ø¿ô½ªÎ»»þ¤Ë¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤ËËÜÂΤÎÃͤòÊݴɤ¹¤ë¤³¤È¤Ç¤¢¤ë¡£ ¤³¤ì¤Ë¤è¤ê¡¢´Ø¿ô¤Ï¥·¥¹¥Æ¥à¥Ñ¥é¥á¡¼¥¿¤òÊѹ¹¤·¡¢´Ø¿ô½ªÎ»»þ¤Ë¤½¤ì¤é¤¬Å¬Åö¤ÊÃͤ˥ꥻ¥Ã¥È¤µ¤ì¤ë¤³¤È¤òÊÝ¾Ú ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ on.exit ¤Ï´Ø¿ô¤¬Ä¾Àܤ˽ªÎ»¤·¤Æ¤â¡¢¤Þ¤¿·Ù¹ð¤Î·ë²Ì¤È¤·¤Æ½ªÎ»¤·¤Æ¤â¼Â¹Ô¤µ¤ì¤ë¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¡£

on.exit ¥³¡¼¥É¤Îɾ²Á¤Ë±÷¤±¤ë¥¨¥é¡¼¤Ï¡¢ on.exit ¥³¡¼¥É¤Î¤½¤ì°Ê¾å¤Î¼Â¹Ô̵¤·¤Ë¡¢Ä¾¤Á¤Ë¥È¥Ã¥×¥ì¥Ù¥ë¤Ø¤Î¥¸¥ã¥ó¥×¤ò¼æ¤­µ¯¤³¤¹¡£

on.exit ¤Ï´Ø¿ô¤¬½ªÎ»¤·¤¿ºÝ¤Ëɾ²Á¤µ¤ì¤ëɽ¸½¼°¤Ç¤¢¤ëñ°ì¤Î°ú¿ô¤ò¼è¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.4 restart

restart ¤Î¸Æ¤Ó½Ð¤·¤Ï¡¢¤â¤·¤½¤Î´Ø¿ô(¤â¤·¤¯¤Ï¤½¤ì¤¬¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë´Ø¿ô¤Î°ì¤Ä)¤Îɾ²ÁÃæ¤Ë¥¨¥é¡¼¤¬ À¸¤¸¤ì¤Ð¡¢¼Â¸úŪ¤Ë´Ø¿ô¤ò²Äǽ¤ÊÉüµ¢ÅÀ¤Ë°ÌÃÖ¤µ¤»¤ë¡£

restart ¤ÏÏÀÍýÃÍÊÑ¿ô¤Ç¤¢¤ëñ°ì¤Î°ú¿ô¤ò¼è¤ë¡£ ¤â¤·ÏÀÍýÃͤÎÃͤ¬ TRUE ¤Ê¤é¤Ð¥¸¥ã¥ó¥×ÅÀ¤¬ÀßÄꤵ¤ì¤ë¡£ ¤â¤·¤½¤ÎÃͤ¬ FALSE ¤Ê¤é¤Ð¥¸¥ã¥ó¥×ÅÀ¤Ï½üµî¤µ¤ì¤ë¡£

¥¸¥ã¥ó¥×¤¬¼Â¹Ô¤µ¤ì¤ë¤È¥¸¥ã¥ó¥×ÅÀ¤Ï¼è¤ê½ü¤«¤ì¤ë¡£

¤â¤·¥¨¥é¡¼¤¬À¸¤¸¡¢°ì¤Ä¤â¤·¤¯¤ÏÊ£¿ô¤Î¥¸¥ã¥ó¥×ÅÀ¤¬Í­¸ú¤Ê¤éÀ©¸æ¤Ï¥¸¥ã¥ó¥×ÅÀ¤òÀßÄꤷ¤¿°ìÈÖ±ü¤Î´Ø¿ô¤Ë Ìᤵ¤ì¤ë¡£¼Â¹Ô¤ÏÁªÂò¤µ¤ì¤¿ËÜÂΤκǽé¤Î¼Â¹Ôʸ¤«¤é»Ï¤Þ¤ë¡£ °ú¤­Â³¤¯É¾²Á¤ËÂФ¹¤ë´Ä¶­¤Ï¡¢¥¸¥ã¥ó¥×¤òͶȯ¤·¤¿¥¨¥é¡¼¤¬È¯¹Ô¤µ¤ì¤¿»þ¤Ë¸ú²Ì¤ò»ý¤Ã¤Æ¤¤¤¿´Ä¶­¤Ç¤¢¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.5 ¥¨¥é¡¼»þ¥ª¥×¥·¥ç¥ó

R ¤¬¥¨¥é¡¼¤ä·Ù¹ð¤ò½èÍý¤¹¤ë»ÅÊý¤òÀ©¸æ¤¹¤ë¤Î¤Ë»È¤¨¤ë´ö¤Ä¤«¤Î options ÊÑ¿ô¤¬¤¢¤ë¡£ ¤½¤ì¤é¤Ï¼¡¤Îɽ¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤ë¡£

`warn'
·Ù¹ð¤Î½ÐÎϤòÀ©¸æ¤¹¤ë¡£
`warning.expression'
·Ù¹ð¤¬È¯À¸¤·¤¿¤È¤­¤Ëɾ²Á¤µ¤ì¤ëɽ¸½¼°¤òÀßÄꤹ¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤ë¤ÈÄ̾ï¤Î·Ù¹ð¤Î½ÐÎϤÏÍÞÀ©¤µ¤ì¤ë¡£
`error'
¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤­¤Ëɾ²Á¤µ¤ì¤ëɽ¸½¼°¤òÀßÄꤹ¤ë¡£Ä̾ï¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤È·Ù¹ð¥á¥Ã¥»¡¼¥¸¤¬¤³¤Îɽ¸½¼°¤Îɾ²Á¤Î Á°¤Ë½ÐÎϤµ¤ì¤ë¡£

options("error") ¤Ë¤è¤Ã¤ÆÆ³Æþ¤µ¤ì¤¿É½¸½¼°¤Ï on.exit ¤Ø¤Î¸Æ¤Ó½Ð¤·¤¬ ¹Ô¤ï¤ì¤ëÁ°¤Ëɾ²Á¤µ¤ì¤ë¡£

¥¨¥é¡¼¿®¹æ¤¬È¯À¸¤·¤¿ºÝ¤Ë R ¤ò½ªÎ»¤¹¤ë¤¿¤á¤Ë options(error = expression(q("yes"))) ¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¾ì¹ç¤Ë¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤È R ¤È¤½¤Î´Ä¶­¤Ï¥»¡¼¥Ö¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9. ¥Ç¥Ð¥Ã¥°

¥³¡¼¥É¤Î¥Ç¥Ð¥Ã¥°¤Ï¾ï¤Ë¾¯¡¹·Ý½ÑŪ¦Ì̤ò»ý¤Ä¡£R ¤Ï¥æ¡¼¥¶¡¼¤¬¤½¤Î¥³¡¼¥ÉÃæ¤ÎÌäÂê¤ò¸«ÉÕ¤±¤ë¤³¤È¤ò ¼ê½õ¤±¤¹¤ë´ö¤Ä¤«¤ÎÆ»¶ñ¤òÄ󶡤¹¤ë¡£ ¤³¤ì¤é¤ÎÆ»¶ñ¤Ï¥³¡¼¥É¤ÎÆÃÄê¤Î²Õ½ê¤Ç¼Â¹Ô¤òÄä»ß¤µ¤»¡¢·×»»¤Î¸½ºß¤Î¾õÂÖ¤ò¶ãÌ£¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¤Û¤È¤ó¤É¤Î¥Ç¥Ð¥Ã¥°¤Ï browser ¤â¤·¤¯¤Ï debug ¤Ø¤Î¸Æ¤Ó½Ð¤··Ðͳ¤Ç ¼Â¹Ô¤µ¤ì¤ë¡£¤³¤Î´Ø¿ô¤Ï¤È¤â¤Ë¤¢¤ëÆâÉôŪ¤Êµ¡¹½¤Ë°Í¸¤·¤Æ¤ª¤ê¡¢Î¾¼Ô¤È¤â¤Ë¤¢¤ëÆÃ¼ì¤Ê¥×¥í¥ó¥×¥È ¤ò¥æ¡¼¥¶¡¼¤ËÄ󼨤¹¤ë¡£¤³¤Î¥×¥í¥ó¥×¥È¤ËÂФ·¤Æ¤Ï¤¢¤é¤æ¤ëÌ¿Î᤬ÆþÎϤǤ­¤ë¡£ ¤³¤ÎÌ¿Îá¤Îɾ²Á´Ä¶­¤Ï¸½ºß³èưŪ¤Ê´Ä¶­¤Ç¤¢¤ë¡£¤³¤ì¤Ë¤è¤êÇ¡²¿¤Ê¤ëÊÑ¿ôÅù¤Î¸½ºß¤Î¾õ¶·¤òÄ´¤Ù¤ë¤³¤È¤¬ ¤Ç¤­¤ë¡£

R ¤¬°Û¤Ê¤Ã¤Æ²ò¼á¤¹¤ë»Í¤Ä¤ÎÌ¿Î᤬¤¢¤ë¡£¤½¤ì¤é¤Ï¡¢

`RET'
´Ø¿ô¤¬¥Ç¥Ð¥Ã¥°¤µ¤ì¤¿¤é¼¡¤Î¼Â¹Ôʸ¤Ø°Ü¤ë¡£¥Ö¥é¥¦¥¶¡¼¤¬µ¯Æ°¤µ¤ì¤¿¤é¼Â¹Ô¤ò·Ñ³¤¹¤ë¡£
`c'
`cont'
¼Â¹Ô¤ò·Ñ³¤¹¤ë¡£
`n'
´Ø¿ô¤Î¼¡¤Î¼Â¹Ôʸ¤ò¼Â¹Ô¡£¤³¤ì¤Ï¥Ö¥é¥¦¥¶¡¼¤«¤é¤â»È¤¨¤ë¡£
`Q'
¼Â¹Ô¤òÄä»ß¤·¡¢Â¨ºÂ¤Ë¥È¥Ã¥×¥ì¥Ù¥ë¤Ë¥¸¥ã¥ó¥×¤¹¤ë¡£

¤â¤·¾å¤ËÍåÎó¤·¤¿¤Î¤â¤Î¤Î°ì¤Ä¤ÈƱ¤¸Ì¾Á°¤Î¶É½êÊÑ¿ô¤¬¤¢¤ì¤Ð¡¢¤½¤ÎÃÍ¤Ï get ¤ò»È¤Ã¤ÆÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ °úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿Ì¾Á°¤òÍѤ¤¤¿ get ¤Ï¸½ºß¤Î´Ä¶­¤Ç¤ÎÃͤò¼è¤ê½Ð¤¹¤Ç¤¢¤í¤¦¡£

¥Ç¥Ð¥Ã¥¬¡¼¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ë¤Î¤Ï²ò¼á¼Â¹Ô¤µ¤ì¤ëɽ¸½¼°¤À¤±¤Ç¤¢¤ë¡£ ´Ø¿ô¤¬(C ¤Î¤è¤¦¤Ê)¾¸À¸ì¥³¡¼¥É¤ò¸Æ¤Ó½Ð¤ò¹Ô¤¦¤Ê¤é¤Ð¡¢¤½¤Î¸À¸ìÃæ¤Î¼Â¹Ôʸ¤Ø¤ÎÇ¡²¿¤Ê¤ë¥¢¥¯¥»¥¹¤âÉÔ²Äǽ¤Ç¤¢¤ë¡£ ¼Â¹Ô¤Ï R ¤Ë¤è¤êɾ²ÁÃæ¤Î¼¡¤Î¼Â¹Ôʸ¤ÇÄä»ß¤¹¤ë¤Ç¤¢¤í¤¦¡£

9.1 browser  
9.2 debug/undebug  
9.3 trace/untrace  
9.4 traceback  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.1 browser

´Ø¿ô browser ¤Î¸Æ¤Ó½Ð¤·¤Ï R ¤ò¤½¤Î»þÅÀ¤ÇÄä»ß¤µ¤»¡¢ ¥æ¡¼¥¶¡¼¤ËÆÃ¼ì¤Ê¥×¥í¥ó¥×¥È¤òÄ󼨤¹¤ë¡£browser ¤Ø¤Î°ú¿ô¤Ï̵»ë¤µ¤ì¤ë¡£

 
> foo <- function(s) {
+ c <- 3
+ browser()
+ }
> foo(4)
Called from: foo(4)
Browse[1]> s
[1] 4
Browse[1]> get("c")
[1] 3
Browse[1]>


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.2 debug/undebug

¥Ç¥Ð¥Ã¥¬¤ÏÌ¿Îá debug(fun) ¤òÍѤ¤¤ÆÇ¡²¿¤Ê¤ë´Ø¿ô¤ËÂФ·¤Æ¤âµ¯Æ°¤Ç¤­¤ë¡£ ¤½¤¦¤¹¤ë¤È¡¢¤³¤Î´Ø¿ô¤¬É¾²Á¤µ¤ì¤ë¤¿¤Ó¤Ë¥Ç¥Ð¥Ã¥¬¤¬µ¯Æ°¤µ¤ì¤ë¡£¥Ç¥Ð¥Ã¥¬¤Ï´Ø¿ôËÜÂÎÃæ¤Î¼Â¹Ôʸ¤Îɾ²Á¤òÀ©¸æ¤¹¤ë¤³¤È¤ò ²Äǽ¤Ë¤¹¤ë¡£³Æ¼Â¹Ôʸ¤¬¼Â¹Ô¤µ¤ì¤ëÁ°¤Ë¡¢¼Â¹Ôʸ¤¬½ÐÎϤµ¤ì¡¢ÆÃÊ̤ʥץí¥ó¥×¥È¤¬Ä󼨤µ¤ì¤ë¡£¤¢¤é¤æ¤ëÌ¿Î᤬¼Â¹Ô¤Ç¤­¤ë¤¬¡¢ ¾å¤ÎÉ½Ãæ¤ÎÌ¿Îá¤ÏÆÃ¼ì¤Ê°ÕÌ£¤ò»ý¤Ä¡£

¥Ç¥Ð¥Ã¥°¤Ï undebug ¤ò´Ø¿ô¤È¤È¤â¤Ë¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤è¤ê½ªÎ»¤µ¤ì¤ë¡£

 
> debug(mean.default)
> mean(1:10)
debugging in: mean.default(1:10)
debug: {
    if (na.rm)
        x <- x[!is.na(x)]
    trim <- trim[1]
    n <- length(c(x, recursive = TRUE))
    if (trim > 0) {
        if (trim >= 0.5)
            return(median(x, na.rm = FALSE))
        lo <- floor(n * trim) + 1
        hi <- n + 1 - lo
        x <- sort(x, partial = unique(c(lo, hi)))[lo:hi]
        n <- hi - lo + 1
    }
    sum(x)/n
}
Browse[1]>
debug: if (na.rm) x <- x[!is.na(x)]
Browse[1]>
debug: trim <- trim[1]
Browse[1]>
debug: n <- length(c(x, recursive = TRUE))
Browse[1]> c
exiting from: mean.default(1:10)
[1] 5.5


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.3 trace/untrace

R ¤Îµóư¤ò´Æ»ë¤¹¤ë¤â¤¦°ì¤Ä¤ÎÊýË¡¤Ï trace µ¡Ç½¤ò»È¤¦¤³¤È¤Ç¤¢¤ë¡£ trace ¤ÏÄÉÀפ·¤¿¤¤´Ø¿ô̾¤òɽ¤¹Ã±°ì¤Î°ú¿ô¤È¤È¤â¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¡£ ¤³¤Î̾Á°¤Ï°úÍÑÉä¤Ç°Ï¤àɬÍפÏ̵¤¤¤¬¡¢°¿¤ë¼ï¤Î´Ø¿ô¤ËÂФ·¤Æ¤Ï¹½Ê¸¥¨¥é¡¼¤òÈò¤±¤ë¤¿¤á¤Ë °úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë¤«¤âÃΤì¤Ê¤¤¡£

trace ¤¬¤¢¤ë´Ø¿ô¤ËÂФ·¤Æµ¯Æ°¤µ¤ì¤ë¤È¡¢´Ø¿ô¤¬É¾²Á¤µ¤ì¤ë¤¿¤Ó¤Ë¤½¤Î¸Æ¤Ó½Ð¤·¤¬½ÐÎϤµ¤ì¤ë¡£ ¤³¤Îµ¡Ç½¤Ï´Ø¿ô̾¤ò°ú¿ô¤Ë¼è¤Ã¤¿ untrace ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¼è¤ê½ü¤¯¤³¤È¤¬¤Ç¤­¤ë¡£

 
> get("[<-")
.Primitive("[<-")
> trace("[<-")
> x <- 1:10
> x[3] <- 4
trace: "[<-"(*tmp*, 3, value = 4)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.4 traceback

¤¢¤ë¥¨¥é¡¼¤¬ºÇ¾å°Ì¤Ø¤Î¥¸¥ã¥ó¥×¤ò¼æ¤­µ¯¤³¤¹¤È .Traceback ¤È¸Æ¤Ð¤ì¤ëÆÃ¼ìÊÑ¿ô¤¬ ºÇ¾å°Ì¤Îºî¶È¥¹¥Ú¡¼¥¹¤ËÃÖ¤«¤ì¤ë¡£ .Traceback ¤Ï¥¨¥é¡¼¤¬À¸¤¸¤¿»þ¤Ë³èư¤·¤Æ¤¤¤¿´Ø¿ô¸Æ¤Ó½Ð¤·³Æ¡¹¤ËÂФ¹¤ë¹àÌܤò»ý¤Äʸ»ú¥Ù¥¯¥È¥ë¤Ç¤¢¤ë¡£ .Traceback ¤Î¥Á¥§¥Ã¥¯¤Ï traceback ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10. ¹½Ê¸²òÀÏ

¹½Ê¸²òÀÏ´ï¤È¤Ï R ¤Î¥Æ¥­¥¹¥È¥³¡¼¥É¤ò¡¢»ØÄꤵ¤ì¤¿»Ø¼¨¤ò¼Â¹Ô¤¹¤ë R ¤Îɾ²Áµ¡¹½¤Ø°ú¤­ÅϤ¹¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤ ÆâÉô·Á¼°¤ËÊÑ´¹¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£ÆâÉô·Á¼°¤Ï¤½¤ì¼«¿È R ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢Êݴɤ·¤¿¤ê¡¢¤µ¤â¤Ê¤±¤ì¤Ð¡¢ R ¥·¥¹¥Æ¥à¤ÎÆâÉô¤Ç½èÍý¤µ¤ì¤ë¡£

10.1 ¹½Ê¸²òÀϤβáÄø  
10.2 ¥È¡¼¥¯¥ó  
10.3 ɽ¸½¼°  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.1 ¹½Ê¸²òÀϤβáÄø

10.1.1 ¹½Ê¸²òÀϤΥ⡼¥É  
10.1.2 ÆâÉôɽ¸½  
10.1.3 µÕ¹½Ê¸²òÀÏ  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.1.1 ¹½Ê¸²òÀϤΥ⡼¥É

R ¤Ë±÷¤±¤ë¹½Ê¸²òÀϤϻ°¤Ä¤Î°Û¤Ê¤ëÊѼï¤ò»ý¤Ä¡§

ÆÉ¤ß¼è¤ê¡¦É¾²Á¡¦½ÐÎϥ롼¥×¤Ï R ¤ËÂФ¹¤ë´ðËÜŪ¤ÊÌ¿Îá¹Ô¥¤¥ó¥¿¥Õ¥§¥¤¥¹¤ò·ÁÀ®¤¹¤ë¡£ ¥Æ¥­¥¹¥ÈÆþÎϤϴ°Á´¤Ê R ¤Îɽ¸½¼°¤¬ÆÀ¤é¤ì¤ë¤Þ¤ÇÆÉ¤ß¼è¤é¤ì¤ë¡£ ɽ¸½¼°¤ÏÊ£¿ô¤ÎÆþÎϹԤËʬ³ä¤µ¤ì¤Æ¤¤¤Æ¤âÎɤ¤¡£½é´ü¥×¥í¥ó¥×¥È(´ûÄê¤Ç `> ') ¤Ï¹½Ê¸²òÀϴ郎¿·¤·¤¤É½¸½¼°¤òÆÉ¤ß¼è¤ë ¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¡¢·Ñ³¥×¥í¥ó¥×¥È(´ûÄê¤Ç¤Ï `+ ') ¤Ï¹½Ê¸²òÀϴ郎ÉÔ´°Á´¤Êɽ¸½¼°¤Î»Ä¤ê¤ò ´üÂÔ¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£É½¸½¼°¤ÏÆþÎÏÃæ¤ËÆâÉô·Á¼°¤ËÊÑ´¹¤µ¤ì¡¢¹½Ê¸²òÀϺѤߤÎɽ¸½¼°¤¬É¾²Áµ¡¹½¤Ë°ú¤­ÅϤµ¤ì¡¢ ¤½¤·¤Æ·ë²Ì¤¬½ÐÎϤµ¤ì¤ë(ÉԲĻë¤Î»ØÄ꤬¤µ¤ì¤Æ¤¤¤Ê¤¤¸Â¤ê)¡£¤â¤·¹½Ê¸²òÀϴ郎¸À¸ì¤Î»ÅÍͤÈÌ·½â¤¹¤ë¾õÂÖ¤Ë ¤¢¤ë¤³¤È¤ò¸«½Ð¤¹¤È "Syntax Error" ¤Î¥Õ¥é¥°¤¬Î©¤Æ¤é¤ì¡¢¹½Ê¸²òÀÏ´ï¤Ï¼«Ê¬¼«¿È¤ò¥ê¥»¥Ã¥È¤·¡¢¼¡¤ÎÆþÎϹԤΠÀèÆ¬¤ÎÆþÎϤ«¤éºÆ³«¤¹¤ë¡£

¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ï parse ´Ø¿ô¤ò»È¤Ã¤Æ¹½Ê¸²òÀϤǤ­¤ë¡£ÆÃ¤Ë¡¢ ¤³¤ì¤Ï source ´Ø¿ô¤Î¼Â¹ÔÃæ¤Ë¼Â¹Ô¤µ¤ì¡¢Ì¿Îá¤òÆâÉô¥Õ¥¡¥¤¥ë¤ËÊݴɤ·¡¢¤½¤ì¤é¤¬ ¤¢¤¿¤«¤â¥­¡¼¥Ü¡¼¥É¤«¤é¥¿¥¤¥×¤µ¤ì¤¿¤«¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ë¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤É¤ì¤«¤Îɾ²Á¤¬¹Ô¤ï¤ì¤ëÁ°¤Ë¡¢Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬¹½Ê¸²òÀϤµ¤ì¡¢¹½Ê¸¤¬¸¡ºº¤µ¤ì¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

ʸ»úÎó¤ä¤½¤ì¤é¤Î¥Ù¥¯¥È¥ë¤Ï parse ´Ø¿ô¤Ø¤Î text= °ú¿ô¤ò»È¤Ã¤Æ¹½Ê¸²òÀϤǤ­¤ë¡£ ʸ»úÎó¤Ï¤¢¤¿¤«¤Î¤½¤ì¤é¤¬ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¹Ô¤Ç¤¢¤ë¤Î¤ÈÁ´¤¯Æ±¤¸¤Ë°·¤ï¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.1.2 ÆâÉôɽ¸½

¹½Ê¸²òÀϤµ¤ì¤¿É½¸½¼°¤Ï¹½Ê¸²òÀÏÌÚ¤ò´Þ¤à R ¥ª¥Ö¥¸¥§¥¯¥È¤ËÊݴɤµ¤ì¤ë¡£ ¤½¤¦¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¤è¤ê¾Ü¤·¤¤µ­½Ò¤Ï 2.1.3 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È ¤È 2.1.4 ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È ¤Ë¤¢¤ë¡£ ´Êñ¤Ë¤¤¤¨¤Ð¡¢R ¤ÎÁ´¤Æ¤Î½éÅùŪɽ¸½¼°¤Ï´Ø¿ô¸Æ¤Ó½Ð¤··Á¼°¤ÇÊݴɤµ¤ì¤ë¡¢¤Ä¤Þ¤ê¡¢ºÇ½é¤ÎÍ×ÁǤ¬´Ø¿ô̾¤Ç¡¢ »Ä¤ê¤Ï¤½¤ì¼«¿È¤µ¤é¤Ë R ¤Îɽ¸½¼°¤Ç¤¢¤êÆÀ¤ë°ú¿ô¤«¤é¤Ê¤ë¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¤³¤Î¥ê¥¹¥ÈÍ×ÁǤÏ̾Á°¤¬ÉÕ¤±¤é¤ì¡¢·Á¼°Åª°ú¿ô¤È¼ÂºÝ¤Î°ú¿ô¤Î¥¿¥°ÉÕ¤­¾È¹ç¤ËÂбþ¤¹¤ë¡£ Á´¤Æ¤Î R ¹½Ê¸Í×ÁǤϤ³¤¦¤·¤¿ÊýË¡¤Ç°·¤ï¤ì¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡¢¤¿¤È¤¨¤ÐÂåÆþ x <- 1 ¤Ï "<-"(x, 1) ¤È¥³¡¼¥É²½¤µ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.1.3 µÕ¹½Ê¸²òÀÏ

Ǥ°Õ¤Î R ¥ª¥Ö¥¸¥§¥¯¥È¤Ï deparse ¤òÍѤ¤¤Æ R ¤Îɽ¸½¼°¤ËÊÑ´¹¤Ç¤­¤ë¡£ ¤³¤ì¤Ï¤·¤Ð¤·¤Ð½ÐÎÏ·ë²Ì¤È¤Î´ØÏ¢¤Ç»È¤ï¤ì¤ë¡¢¤¿¤È¤¨¤Ð¥×¥í¥Ã¥È¤Î¥é¥Ù¥ë¤¬Îã¤Ç¤¢¤ë¡£ ¥â¡¼¥É "expression" ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤À¤±¤¬µÕ¹½Ê¸²òÀÏ·ë²Ì¤òºÆ¹½Ê¸²òÀϤ·¤Æ¤âÊѤï¤é¤Ê¤¤ ¤³¤È¤¬´üÂԤǤ­¤ë¡£Î㤨¤Ð¿ôÃÍ¥Ù¥¯¥È¥ë 1:5 ¤Ï "c(1, 2, 3, 4, 5)" ¤ÈµÕ¹½Ê¸²òÀÏ ¤µ¤ì¡¢¤³¤ì¤Ï´Ø¿ô c ¤Î¸Æ¤Ó½Ð¤·¤È¤·¤ÆºÆ¹½Ê¸²òÀϤµ¤ì¤ë¤Ç¤¢¤í¤¦¡£ ²Äǽ¤Ê¸Â¤ê¡¢µÕ¹½Ê¸²òÀϤµ¤ì¤¿É½¸½¼°¤È¡¢¤½¤ÎºÆ¹½Ê¸²òÀϤµ¤ì¤¿É½¸½¼°¤Ï¤â¤È¤Î¤½¤ì¤òɾ²Á¤·¤¿¤Î¤ÈƱ¤¸·ë²Ì¤ò Í¿¤¨¤ë¤è¤¦¤ËÅØ¤á¤é¤ì¤ë¤¬¡¢¤â¤È¤â¤È¥Æ¥­¥¹¥Èɽ¸½¤«¤éÀ¸À®¤µ¤ì¤¿¤Î¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ê¤â¤Î¤ò´Þ¤à¡¢´ö¤Ä¤«¤ÎÌñ²ð¤ÊÎã³°¤¬¤¢¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2 ¥È¡¼¥¯¥ó

¥È¡¼¥¯¥ó are the elementary building blocks of a programming language. They are recognised during lexical analysis which (conceptually, at least) takes place prior to the syntactic analysis performed by the parser itself.

10.2.1 Äê¿ô  
10.2.2 ¼±Ê̻Ҡ 
10.2.3 ͽÌó¸ì  
10.2.4 ÆÃ¼ì±é»»»Ò  
10.2.5 ʬΥµ­¹æ  
10.2.6 ±é»»»Ò¤Î¥È¡¼¥¯¥ó  
10.2.7 ¥°¥ë¡¼¥×²½¥·¥ó¥Ü¥ë  
10.2.8 ź»úÁàºî¤Î¥È¡¼¥¯¥ó  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.1 Äê¿ô

£´¤Ä¤ÎÄê¿ô·¿¡¢ÏÀÍýÃÍ¡¢¿ôÃÍ¡¢Ê£ÁÇ¿ôÃÍ¡¢¤½¤·¤ÆÊ¸»úÎ󤬤¢¤ë¡£

¹¹¤Ë£´¤Ä¤ÎÆÃ¼ìÄê¿ô¡¢NULL, NA, Inf ¤½¤·¤Æ NaN ¤¬¤¢¤ë¡£

NULL ¤Ï¶õ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤¹¡£NA ¤Ï·ç»("Not Available")¥Ç¡¼¥¿Ãͤòɽ¤¹¡£ Inf ¤È NaN ¤Ï¤½¤ì¤¾¤ì IEEE ÉâÆ°¾®¿ô·×»»¤Ë¤ª¤±¤ë̵¸ÂÂç¤ÈÈó¿ô (Î㤨¤Ð¡¢¤½¤ì¤¾¤ì±é»» 1/0 ¤È 0/0 ¤Î·ë²Ì)¤òɽ¤¹¡£

ÏÀÍýÄê¿ô¤Ï TRUE ¤« FALSE ¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¡£

¿ôÃÍÄê¿ô¤Ï C ¸À¸ì¤ÈÎà»÷¤Î¹½Ê¸¤Ë½¾¤¦¡£ ¤½¤ì¤é¤Ï¡¢¥ª¥×¥·¥ç¥ó¤È¤·¤Æ `.' ¤ò½¾¤¨¤ëÎí¤«¤½¤ì°Ê¾å¤Î¿ô»ú¤«¤é¤Ê¤ëÀ°¿ôÉôʬ¡¢ ¥ª¥×¥·¥ç¥ó¤È¤·¤Æ `E' ¤â¤·¤¯¤Ï `e' ¤½¤·¤ÆÉ乿¤ÈÎí¤Þ¤¿¤Ï¤½¤ì°Ê¾å¤Î¿ô»ú¤«¤é¤Ê¤ë ʸ»úÎ󤫤é¤Ê¤ë»Ø¿ôÉôʬ¤ò½¾¤¨¤ë¡¢Îí¤â¤·¤¯¤Ï¤½¤ì°Ê¾å¤Î¿ô»ú¤«¤é¤Ê¤ë¾®¿ôÉôʬ¡¢¤«¤é¤Ê¤ë¡£ ¾®¿ô¡¢À°¿ôÉôʬ¤Î¤É¤Á¤é¤«¤Ï¤Ê¤¯¤Æ¤âÎɤ¤¤¬¡¢Æ±»þ¤ËξÊý̵¤¤¤³¤È¤Ïµö¤µ¤ì¤Ê¤¤¡£

 
ŬÀµ¤Ê¿ôÃÍÄê¿ô¡§ 1 10 0.1 .2 1e-7 1.2e+7 2e 3e+

ºÇ¸å¤ÎÆó¤Ä¤ÎÎã¤Ï¼ÂºÝ¤Ë¤Ï¤Û¤È¤ó¤É»È¤ï¤ì¤Ê¤¤¤Ç¤¢¤í¤¦¤¬¡¢¤½¤ì¤¾¤ì `2' ¤È `3' ¤È¤·¤ÆÇ§¼±¤µ¤ì¤ë¡£

À°¿ôÃÍÄê¿ô¤È¤¤¤¦ÆÃÊ̤ʥ¯¥é¥¹¤¬Ìµ¤¤¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

¤Þ¤¿ÀèÆ¬¤ÎÉ乿¤ÏÄê¿ô¤Î°ìÉô¤Ç¤Ï¤Ê¤¯¡¢Ã±¹à±é»»»Ò¤È¤·¤Æ°·¤ï¤ì¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

Ê£ÁÇ¿ôÃÍÄê¿ô¤Ï¿ôÃÍÄê¿ô¤È¤½¤Î¸å¤Ë³¤¯ `i' ¤È¤¤¤¦·Á¤ò»ý¤Ä¡£½ãµõ¿ô¤À¤±¤¬¼ÂºÝ¤ÎÊ£ÁÇ¿ôÃͤǤ¢¤ê¡¢ ¾¤ÎÊ£ÁÇ¿ôÃͤϿôÃͤȵõ¿ô¤ËÂФ¹¤ëñ¹à¡¢¤â¤·¤¯¤ÏÆó¹à±é»»¤È¤·¤Æ¹½Ê¸²òÀϤµ¤ì¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

 
ŬÀµ¤ÊÊ£ÁÇ¿ôÃÍ¡§ 2i 4.1i 1e-2i

ʸ»úÎóÄê¿ô¤Ï°ì½Å°úÍÑÉä (`'') ¤Þ¤¿¤ÏÆó½Å°úÍÑÉä (`"') ¤ÎÂФǰϤޤ졢 ¾¤Î°õ»ú²Äǽ¤ÊÁ´¤Æ¤Îʸ»ú¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤ë¡£°úÍÑÉä¤â¤·¤¯¤Ï¾¤ÎÆÃ¼ìʸ»ú¤Ï ¥¨¥¹¥±¡¼¥×ʸ»úÎó ¤òÍѤ¤¤Æ »ØÄê¤Ç¤­¤ë¡§

\'
°ì½Å°úÍÑÉä
\"
Æó½Å°úÍÑÉä
\n
²þ¹Ô
\t
¥¿¥Öʸ»ú
\b
¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹
\nnn
Í¿¤¨¤é¤ì¤¿¥³¡¼¥É¤ò»ý¤Äʸ»ú

°ì½Å°úÍÑÉä¤Ï¤Þ¤¿Ä¾ÀÜÆó½Å°úÍÑÉä¤Ë¤è¤ë°Ï¤ßÃæ¤Ë¤¤¤ì¤ë¤³¤È¤¬¤Ç¤­¡¢µÕ¤â¤Þ¤¿¿¿¤Ç¤¢¤ë¡£ ʸ»úÎó "NA" ¤Ï"·ç»ÃÍ"¤È¤¤¤¦ÆÃÊ̤ʰÕÌ£¤ò»ý¤Ä¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.2 ¼±ÊÌ»Ò

¼±Ê̻ҤÏʸ»ú¡¢¿ô»ú¡¢¤½¤·¤Æ¥Ô¥ê¥ª¥Ã¥Éµ­¹æ (`.') ¤«¤é¤Ê¤ë¡£¿ô»ú¤ä¡¢¥Ô¥ê¥ª¥Ã¥É¤Ë³¤¯¿ô»ú¤«¤é»Ï¤Þ¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

ʸ»ú¤ÎÄêµÁ¤Ï¸½ºß¤Î¥í¥±¡¼¥ë¤Ë°Í¸¤¹¤ë¡£¤â¤·¤³¤ì¤¬Àµ¤·¤¯»ØÄꤵ¤ì(¤³¤ì¤Ï¥·¥¹¥Æ¥à°Í¸¤Ç¤¢¤ë)¤¤¤ì¤Ð¡¢ ¥æ¡¼¥¶¡¼¤ÎÊì¸ìʸ»ú¤ò¼±Ê̻Ҥ˻Ȥ¦¤³¤È¤¬¤Ç¤­¤ë¡£

¥Ô¥ê¥ª¥Ã¥É¤Ç»Ï¤Þ¤ë¼±Ê̻ҤϴûÄê¤Ç¤Ï ls ´Ø¿ô¤Çɽ¼¨¤µ¤ì¤º¡¢`...' ¤½¤·¤Æ `..1', `..2', Åù¤ÏÆÃ¼ì¤Ç¤¢¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£

¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤Þ¤¿¼±Ê̻ҤǤÏ̵¤¤Ì¾Á°¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£ ¤³¤ì¤é¤Ï°ìÈÌ¤Ë get ¤È assign ¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ë¤¬¡¢ ¤¢¤ë¸Â¤é¤ì¤¿´Ä¶­¤Ç¤ÏÛ£Ëæ¤µ¤¬Ìµ¤¤¸Â¤ê¥Æ¥­¥¹¥Èʸ»úÎó¤Ç¤âɽ¼¨¤Ç¤­¤ë(Î㤨¤Ð "x" <- 1)¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.3 ͽÌó¸ì

°Ê²¼¤Î¼±ÊÌ»Ò¤ÏÆÃ¼ì¤Ê°ÕÌ£¤ò»ý¤Á¡¢¥ª¥Ö¥¸¥§¥¯¥È̾¤È¤·¤Æ»È¤¦¤Ù¤­¤Ç¤Ï¤Ê¤¤¡§

 
if else repeat while function for in next break
TRUE FALSE NULL NA Inf NaN
... ..1 ..2 etc.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.4 ÆÃ¼ì±é»»»Ò

R ¤Ç¤Ï¥æ¡¼¥¶¡¼¤¬ÆÈ¼«¤ÎÃæÃÖ(infix)±é»»»Ò¤òÄêµÁ¤Ç¤­¤ë¡£ ¤³¤ì¤é¤Ïʸ»ú `%' ¤Ç¶´¤Þ¤ì¤¿Ê¸»úÎó¤È¤¤¤¦·Á¼°¤ò»ý¤Ä¡£ ʸ»úÎó¤Ï `%' ¤ò½ü¤¯Á´¤Æ¤Î°õ»ú²Äǽ¤Êʸ»ú¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤ë¡£ ¥¨¥¹¥±¡¼¥×ʸ»úÎó¤Ï¤³¤Î¸Â¤ê¤Ç¤Ï¤Ê¤¤¡£

°Ê²¼¤Î±é»»»Ò¤¬Í½¤áÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£

 
%% %*% %/% %in% %o% %x%


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.5 ʬΥµ­¹æ

ʸ»úÄ̤ê¤Ë¤Ï¥È¡¼¥¯¥ó¤Ç¤Ï̵¤¤¤¬¡¢°ú¤­Â³¤¯¶õÇòʸ»ú(¥¹¥Ú¡¼¥¹¤È¥¿¥Ö)¤ÏÛ£Ëæ¤µ¤¬»Ä¤ë¾ì¹ç¤Ë¶èÀÚ¤ê¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤­¤ë (x<-5 ¤È x < -5 ¤òÈæ³Ó¤»¤è)¡£

¥»¥ß¥³¥í¥ó (`;') ¤Ï½éÅùŪɽ¸½¼°¤òʬΥ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë¡£

²þ¹Ô¤Ï¥È¡¼¥¯¥óʬΥ»Ò¤Èɽ¸½¼°¤Î½ªÎ»»Ø¼¨¤ò·ó¤ÍÈ÷¤¨¤¿µ¡Ç½¤ò»ý¤Ä¡£ ¤â¤·É½¸½¼°¤¬¹ÔËö¤Ç½ªÎ»¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ê¤é¡¢¹½Ê¸²òÀÏ´ï¤Ï¤½¤ì¤ò¤½¤¦¤·¤¿¤â¤Î¤È¤·¤Æ°·¤¤¡¢¤µ¤â¤Ê¤±¤ì¤Ð ²þ¹Ô¤Ï¶õÇò¤È¤·¤Æ°·¤ï¤ì¤ë¡£

¥­¡¼¥ï¡¼¥É else ¤Ë¤ÏÆÃ¼ì¤Êµ¬Â§¤¬Å¬ÍѤµ¤ì¤ë¡§ Ê£¹çɽ¸½¼°¤ÎÆâÉô¤Ç¤Ï¡¢ else ¤ÎÁ°¤Î²þ¹Ô¤Ï̵»ë¤µ¤ì¡¢°ìÊý¤ÇºÇ¤â³°Â¦¤Î¥ì¥Ù¥ë¤Ç¤Ï²þ¹Ô¤Ï if ¹½Ê¸¤ò ½ªÎ»¤µ¤» else ¤Ï¹½Ê¸¥¨¥é¡¼¤ò¼æ¤­µ¯¤³¤¹¡£¤³¤Î¾¯¡¹ÊÑ§Ū¤Êµóư¤Ï¡¢ R ¤¬ÂÐÏÃŪ¤Ë»ÈÍѤǤ­¤ë¤è¤¦¤Ëºî¤é¤ì¤Æ¤ª¤ê¡¢¤·¤¿¤¬¤Ã¤Æ¥æ¡¼¥¶¡¼¤¬ RET ¤ò²¡¤¹¤ä Èݤ䡢ÆþÎϤµ¤ì¤¿É½¸½¼°¤¬´°Á´¤Ç¤¢¤ë¤«¡¢ÉÔ´°Á´¤Ç¤¢¤ë¤«¡¢¤Þ¤¿¤ÏÉÔÀµ¤Ç¤¢¤ë¤«¤òȽÃǤ·¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¤³¤È¤Ë¤è¤ë¡£

¥³¥ó¥Þ (`,') ¤Ï´Ø¿ô°ú¿ô¤È¿½Åź»ú¤òʬΥ¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.6 ±é»»»Ò¤Î¥È¡¼¥¯¥ó

R uses the following operator tokens

+ - * / %% ^ »»½Ñ
> >= < <= == != ´Ø·¸
! & | ÏÀÍý
~ ¥â¥Ç¥ë¸ø¼°
-> <- ÂåÆþ
$ ¥ê¥¹¥Èź»úÁàºî
: ¿ôÎó

(¤³¤ì¤é¤Î±é»»»Ò¤Ï¥â¥Ç¥ë¸ø¼°¤ÎÆâÉô¤Ç¤Ï°Û¤Ê¤Ã¤¿°ÕÌ£¤ò»ý¤Ä)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.7 ¥°¥ë¡¼¥×²½¥·¥ó¥Ü¥ë

Ä̾ï¤Î³ç¸Ì---`(' ¤È `)'---¤Ïɽ¸½¼°ÆâÉô¤Ç¤Î¸·Ì©¤Ê¥°¥ë¡¼¥×²½¤È¡¢ ´Ø¿ôÄêµÁ¤ª¤è¤Ó´Ø¿ô¸Æ¤Ó½Ð¤·¤ËÂФ¹¤ë°ú¿ô¥ê¥¹¥È¤ò¶èÀڤ뤿¤á¤Ë»È¤ï¤ì¤ë¡£

Ãæ³ç¸Ì---`{' and `}'---¤Ï´Ø¿ôÄêµÁÃæ¤Îɽ¸½¼°¤Î¥Ö¥í¥Ã¥¯¡¢¾ò·ïÉÕ¤­É½¸½¼°¡¢¤½¤·¤Æ·«ÊÖ¤·¹½À®¡¢¤ò¶èÀڤ롣


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.2.8 ź»úÁàºî¤Î¥È¡¼¥¯¥ó

ÇÛÎó¤ä¥Ù¥¯¥È¥ë¤Îź»úÁàºî¤Ï°ì½Å¤â¤·¤¯¤ÏÆó½Å¤Î³Ã³ç¸Ìµ­¹æ `[]' ¤È `[[]]' ¤ò»È¤Ã¤Æ¤Ê¤µ¤ì¤ë¡£ ƱÍͤˡ¢¥¿¥°ÉÕ¤­¥ê¥¹¥È¤Îź»úÁàºî¤Ï `$' ±é»»»Ò¤òÍѤ¤¤Æ¹Ô¤ï¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3 ɽ¸½¼°

R ¤Î¥×¥í¥°¥é¥à¤Ï R ɽ¸½¼°¤ÎÎ󤫤é¤Ê¤ë¡£°ì¤Ä¤Îɽ¸½¼°¤ÏÄê¿ô¤È¼±Ê̻ҤÀ¤±¤«¤é¤Ê¤ëñ½ã¤Êɽ¸½¼°¤Ç¤¢¤ë¤«¡¢ ¾¤ÎÉôÉÊ(¤½¤ì¼«¿Èɽ¸½¼°¤Ç¤¢¤Ã¤ÆÎɤ¤)¤«¤é¹½À®¤µ¤ì¤¿Ê£¹çɽ¸½¼°¤Ç¤¢¤ë¡£

¼¡¤ÎÀá¤Ç¤ÏÍøÍѲÄǽ¤ÊÍÍ¡¹¤Ê¹½Ê¸Åª¹½À®¤ò¾Ü¤·¤¯½Ò¤Ù¤ë¡£

10.3.1 ´Ø¿ô¸Æ¤Ó½Ð¤·  
10.3.2 ´ÖÃֱ黻»Ò¤ÈÁ°Ãֱ黻»Ò  
10.3.3 ź»ú¹½À®  
10.3.4 Ê£¹çɽ¸½¼°  
10.3.5 ή¤ìÀ©¸æÍ×ÁÇ  
10.3.6 ´Ø¿ôÄêµÁ  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3.1 ´Ø¿ô¸Æ¤Ó½Ð¤·

´Ø¿ô¸Æ¤Ó½Ð¤·¤Ï´Ø¿ô»²¾È¤Ë°ú¤­Â³¤¯¡¢²¿ÁȤ«¤Î³ç¸ÌÃæ¤Î¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿°ú¿ô¤Î¥ê¥¹¥È¤È¤¤¤¦·Á¼°¤ò»ý¤Ä¡£

 
function_reference ( arg1, arg2, ...... , argn )

´Ø¿ô»²¾È¤Ï¼¡¤Î¤É¤ì¤«¤Ç¤¢¤ë

³Æ°ú¿ô¤Ï¥¿¥°¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë(tag=expr)¡£¤â¤·¤¯¤Ïñ¤Ë ñ½ãɽ¸½¼°¤Ç¤¢¤ë¡£¶õ¤Ç¤¢¤Ã¤Æ¤âÎɤ¯¡¢ÆÃ¼ìµ­¹æ `...', `..2', Åù¤Ç¤¢¤Ã¤Æ¤âÎɤ¤¡£

¥¿¥°¤Ï¼±Ê̻Ҥޤ¿¤Ïʸ»úÎó¤Ç¤¢¤ë¡£

Îã¡§

 
f(x)
g(tag = value, , 5)
"odd name"("strange tag" = 5, y)
(function(x) x^2)(5)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3.2 ´ÖÃֱ黻»Ò¤ÈÁ°Ãֱ黻»Ò

±é»»»Ò¤ÎÍ¥ÀèÅÙ(¹â¤¤¤â¤ÎÄøÀè¤ËŬÍÑ)¤Ï

 
^
- +                (ñ¹à±é»»)
:
%xyz%
* / %%
+ -                (Æó¹à±é»»»Ò)
> >= < <= == !=
!
&
|
~                  (ñ¹à¤Þ¤¿¤ÏÆó¹à±é»»»Ò)
->
<-

¶Ò¾è±é»»»Ò `^' ¤Èº¸ÂåÆþ±é»»»Ò `<-' ¤Ï±¦¤«¤éº¸¤Ø¤È¥°¥ë¡¼¥×²½¤µ¤ì¤ë¡£ ¾¤ÎÁ´¤Æ¤Î±é»»»Ò¤Ïº¸¤«¤é±¦¤Ø¤È¥°¥ë¡¼¥×²½¤µ¤ì¤ë¡£ ¤Ä¤Þ¤ê 2 ^ 2 ^ 3 ¤Ï 2 ^ 8 ¤Ç¤¢¤ê 4 ^ 3 ¤Ç¤Ï¤Ê¤¯¡¢ ¾Êý 1 - 1 - 1 ¤Ï -1 ¤Ç¤¢¤ê 1 ¤Ç¤Ï̵¤¤¡£

¸·Ì©¤Ë¤Ï±é»»»Ò¤Ç¤Ï̵¤¤¤±¤ì¤É¡¢¥·¥ó¥Ü¥ë `=' symbol ¤¬´Ø¿ô¸Æ¤Ó½Ð¤·¤Ë¤ª¤±¤ë¥¿¥°ÉÕ¤­°ú¿ô¤È¡¢´Ø¿ôÄêµÁ¤Ë¤ª¤±¤ë ´ûÄêÃÍÂåÆþ¤ËÂФ·¤Æ»È¤ï¤ì¤ë¤³¤È¤ò½Ò¤Ù¤ëɬÍפ¬¤¢¤ë¡£

`$' µ­¹æ¤Ï¤¢¤ë°ÕÌ£¤Ç±é»»»Ò¤Ç¤¢¤ë¤¬¡¢Ç¤°Õ¤Î±¦ÊÕÃͤòµö¤¹¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢ @xref{Index constructions} ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¡£¤³¤ì¤Ï¾¤Î¤É¤Î±é»»»Ò¤è¤ê¤â¹â¤¤ Í¥ÀèÅÙ¤ò»ý¤Ä¡£

ñ¹à¤Þ¤¿¤ÏÆó¹à±é»»»Ò¤Î¹½Ê¸²òÀϺѤߤηÁ¼°¤Ï¡¢±é»»»Ò̾¤ò´Ø¿ô̾¤Ë»ý¤Á¡¢Èï±é»»¹à¤ò´Ø¿ô°ú¿ô¤Ë»ý¤Ä´Ø¿ô¸Æ¤Ó½Ð¤·¤ÈÁ´¤¯Æ±ÃͤǤ¢¤ë¡£

³ç¸Ì¤Ï¡¢±é»»»Ò¤ÎÍ¥ÀèÅÙ¤«¤é³ç¸Ì¤¬¿ä¬¤µ¤ì¤ë¾ì¹ç(Î㤨¤Ð a * (b + c))¤ò´Þ¤á¡¢ ̾Á° "(" ¤ò»ý¤Äñ¹à±é»»»Ò¤È¤·¤Æµ­Ï¿¤µ¤ì¤ë¡£

ÂåÆþµ­¹æ¤Ï»»½Ñ¡¢´Ø·¸¤½¤·¤ÆÏÀÍý±é»»»Ò¤ÈÁ´¤¯Æ±Îà¤Î±é»»»Ò¤Ç¤¢¤ë¤³¤È¤òÃí°Õ¤·¤è¤¦¡£ ¹½Ê¸²òÀÏ´ï¤Ë´Ø¤¹¤ë¸Â¤ê¡¢Ç¤°Õ¤Îɽ¸½¼°¤¬ÂåÆþ¤ÎÈïÂåÆþ¹à¤Ëµö¤µ¤ì¤ë(2 + 2 <- 5 ¤Ï¡¢É¾²Áµ¡¹½¤Ï¤Ï¤Í¤Ä¤±¤ë¤â¤Î¤Î¡¢ ¹½Ê¸²òÀϤ˴ؤ¹¤ë¸Â¤êŬÀµ¤Êɽ¸½¼°¤Ç¤¢¤ë¡£Æ±¤¸Ãí°Õ¤Ï¥â¥Ç¥ë¸ø¼°±é»»»Ò¤ËÉÕ¤¤¤Æ¤âÅö¤Æ¤Ï¤Þ¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3.3 ź»ú¹½À®

R ¤Ï»°¤Ä¤Îź»ú¹½À®¤ò»ý¤Á¡¢¤½¤Î¤¦¤ÁÆó¤Ä¤Ï¹½Ê¸Åª¤Ë¤Ï¾¯¤·°Û¤Ê¤ë¤¬°Ọ̃Ū¤Ë¤ÏÎà»÷¤·¤Æ¤¤¤ë¡£

 
object [ arg1, ...... , argn ]
object [[ arg1, ...... , argn ]]

object ¤Ï·Á¼°Åª¤Ë¤ÏǤ°Õ¤ÎŬÀµ¤Êɽ¸½¼°¤ÇÎɤ¤¤¬¡¢Éôʬ½¸¹ç±é»»¤¬²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤¹¤«¡¢ ¤½¤¦¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ëɾ²Á¤Ç¤­¤ë¤³¤È¤¬²¾Äꤵ¤ì¤Æ¤¤¤ë¡£ °ú¿ô¤Ï°ìÈ̤˿ôÃͤޤ¿¤Ïʸ»úź»ú¤È¤·¤ÆÉ¾²Á¤µ¤ì¤ë¤¬¡¢Â¾¤Î¼ïÎà¤Î°ú¿ô¤â²Äǽ¤Ç¤¢¤ë(ÆÃ¤Ë drop = FALSE)¡£

ÆâÉôŪ¤Ë¤Ï¤³¤ì¤é¤Îź»ú¹½À®¤Ï¤½¤ì¤¾¤ì´Ø¿ô̾ "[" ¤È "[[" ¤ò»ý¤Ä¡¢ ´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤·¤ÆÊݴɤµ¤ì¤ë¡£

»°ÈÖÌܤÎź»ú¹½À®¤Ï

 
object $ tag

¤³¤³¤Ç object ¤Ï¾å¤ÈƱ¤¸¤Ç¤¢¤ë¤¬ tag ¤Ï¼±Ê̻Ҥ«Ê¸»úÎó¤Ç¤¢¤ë¡£ ÆâÉôŪ¤Ë¤Ï¤³¤ì¤Ï̾Á° "$" ¤ò»ý¤Ä´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤·¤ÆÊݴɤµ¤ì¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3.4 Ê£¹çɽ¸½¼°

Ê£¹çɽ¸½¼°¤Ï¼¡¤Î·Á¼°¤ò»ý¤Ä

 
{ expr1 ; expr2 ; ...... ; exprn }

¥»¥ß¥³¥í¥ó¤Ï²þ¹Ô¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ÆâÉôŪ¤Ë¤Ï¡¢¤³¤ì¤Ï "{" ¤ò´Ø¿ô̾¤È¤·É½¸½¼°¤ò°ú¿ô¤Ë»ý¤Ä´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤·¤ÆÊݴɤµ¤ì¤ë¡£ expressions as arguments.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3.5 ή¤ìÀ©¸æÍ×ÁÇ

R ¤Ï¼¡¤Î¤è¤¦¤ÊÀ©¸æ¹½Â¤¤òÆÃ¼ì¤Ê¹½Ê¸Í×ÁǤȤ·¤Æ»ý¤Ä constructs

 
if ( cond ) expr
if ( cond ) expr1 else expr2
while ( cond ) expr
repeat expr
for ( var in list ) expr

¤³¤ì¤é¤Î¹½À®Í×ÁÇÃæ¤Îɽ¸½¼°¤Ïŵ·¿Åª¤ËÊ£¹çɽ¸½¼°¤Ç¤¢¤ë¡£

·«ÊÖ¤·¹½Â¤ (while, repeat, for) Ãæ¤Ç¤Ï break (¥ë¡¼¥×¤òÄä»ß¤¹¤ë¤¿¤á¤Ë) ¤½¤·¤Æ next (¼¡¤Î·«ÊÖ¤·¤ò¥¹¥­¥Ã¥×¤¹¤ë¤¿¤á¤Ë)»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£

ÆâÉôŪ¤Ë¤Ï¤³¤ì¤é¤Î¹½À®¤Ï´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤·¤ÆÊݴɤµ¤ì¤ë¡§

 
"if"(cond, expr)
"if"(cond, expr1, expr2)
"while"(cond, expr)
"repeat"(expr)
"for"(var, list, expr)
"break"()
"next"()


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3.6 ´Ø¿ôÄêµÁ

´Ø¿ô¤ÎÄêµÁ¤Ï¤Ä¤®¤Î·Á¼°¤ò»ý¤Ä

 
function ( arglist ) body

´Ø¿ô¤ÎËÜÂΤÏɽ¸½¼°¤Ç¤¢¤ê¡¢¤·¤Ð¤·¤ÐÊ£¹çɽ¸½¼°¤Ç¤¢¤ë¡£ arglist ¤Ï¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¹àÌܤΥꥹ¥È¤Ç¤¢¤ê¡¢³Æ¡¹¤Ï¼±Ê̻ҡ¢ `identifier = default' ¤Î·Á¼°¡¢¤â¤·¤¯¤ÏÆÃ¼ì¥·¥ó¥Ü¥ë {...} ¤Î¤É¤ì¤Ç¤âÎɤ¤¡£default ¤ÏǤ°Õ¤ÎŬÀµ¤Êɽ¸½¼°¤Ç¤¢¤Ã¤ÆÎɤ¤¡£

´Ø¿ô°ú¿ô¤Ï¥ê¥¹¥È¤Î¥¿¥°Åù¤È¤Ï°Û¤Ê¤ê¡¢¥Æ¥­¥¹¥Èʸ»úÎó¤ÇÍ¿¤¨¤é¤ì¤ë"´ñ̯¤Ê̾Á°"¤ò»ý¤Ä¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤³¤È¤ò Ãí°Õ¤·¤è¤¦¡£

ÆâÉôŪ¤Ë¤Ï´Ø¿ôÄêµÁ¤Ï´Ø¿ô̾ function ¤ÈÆó¤Ä¤Î°ú¿ô¡¢arglist ¤È body¡¢¤ò¤â¤Ä´Ø¿ô¸Æ¤Ó½Ð¤·¤È¤·¤ÆÊݴɤµ¤ì¤ë¡£arglist ¤Ï¥¿¥°ÉÕ¤­¤ÎÂХꥹ¥È¤È¤·¤ÆÊݴɤµ¤ì¡¢ ¥¿¥°¤Ï°ú¿ô̾¡¢¤½¤·¤ÆÃͤϴûÄê¤Îɽ¸½¼°¤Ç¤¢¤ë¡£


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

´Ø¿ô¤ÈÊÑ¿ô¤Îº÷°ú

Jump to:   .   ´  
A   B   D   E   F   M   N   O   P   Q   R   S   T   U   W  

Index Entry Section

.
.C7.2 ³°Éô¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹
.Call7.2 ³°Éô¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹
.External7.2 ³°Éô¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹
.Fortran7.2 ³°Éô¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹
.Internal7.3 .Internal ¤È .Primitive
.Primitive7.3 .Internal ¤È .Primitive

´
´Ä¶­&#60;-6.6 ´Ø¿ô¤ÎÁàºî
´Ä¶­&#60;-6.6 ´Ø¿ô¤ÎÁàºî

A
as.call2.1.3 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È
as.character2.1.3.1 ¥·¥ó¥Ü¥ë¥ª¥Ö¥¸¥§¥¯¥È
as.function2.1.5 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È
as.list2.1.3 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È
as.name2.1.3.1 ¥·¥ó¥Ü¥ë¥ª¥Ö¥¸¥§¥¯¥È
attr2.2 °À­
attr<-2.2 °À­
attributes2.2 °À­
attributes<-2.2 °À­

B
body2.1.5 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È
body6.6 ´Ø¿ô¤ÎÁàºî
body6.6 ´Ø¿ô¤ÎÁàºî
body&#60;-6.6 ´Ø¿ô¤ÎÁàºî
body&#60;-6.6 ´Ø¿ô¤ÎÁàºî
break3.2.2 ·«¤êÊÖ¤·Ê¸
browser9.1 browser

D
debug9.2 debug/undebug

E
environment2.1.5 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È
environment6.6 ´Ø¿ô¤ÎÁàºî
environment6.6 ´Ø¿ô¤ÎÁàºî

F
for3.2.5 for
formals2.1.5 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È
formals6.6 ´Ø¿ô¤ÎÁàºî
formals6.6 ´Ø¿ô¤ÎÁàºî
formals&#60;-6.6 ´Ø¿ô¤ÎÁàºî
formals&#60;-6.6 ´Ø¿ô¤ÎÁàºî

M
match.arg4.3.2 °ú¿ô¾È¹ç
match.call4.3.2 °ú¿ô¾È¹ç
match.fun4.3.2 °ú¿ô¾È¹ç
mode2. ¥ª¥Ö¥¸¥§¥¯¥È

N
names2.2.1 ̾Á°
names<-2.2.1 ̾Á°
new.env2.1.10 ´Ä¶­
next3.2.2 ·«¤êÊÖ¤·Ê¸

O
on.exit8.3 on.exit

P
pairlist2.1.11 ÂХꥹ¥È¥ª¥Ö¥¸¥§¥¯¥È

Q
quote2.1.3 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È

R
reapetʸ3.2.3 reapetʸ
restart8.4 restart

S
stop8.1 stop
storage.mode2. ¥ª¥Ö¥¸¥§¥¯¥È
switch3.2.6 switch
system7.1 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹
system.time7.1 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹

T
trace9.3 trace/untrace
traceback9.4 traceback
typeof2. ¥ª¥Ö¥¸¥§¥¯¥È

U
undebug9.2 debug/undebug
untrace9.3 trace/untrace

W
warning8.2 warning
whileʸ3.2.4 whileʸ

Jump to:   .   ´  
A   B   D   E   F   M   N   O   P   Q   R   S   T   U   W  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. »²¹Íʸ¸¥

Richard A. Becker, John M. Chambers and Allan R. Wilks (1988), The New S Language. Chapman & Hall, New York. ¤³¤ÎËܤϤ·¤Ð¤·¤Ð"ÀÄËÜ(Blue Book)"¤È¸Æ¤Ð¤ì¤ë¡£


[Top] [Contents] [Index] [ ? ]

Footnotes

(1)

ÌõÃð¡§¡ÖͽÌó¡×¤Ï promise ¤ÎÌõ¡£¡ÖÌó«¡×¡¢¡Ö·ÀÌó¡×?

(2)

ɾ²Á¤Ï¾ï¤Ë¤¢¤ë´Ä¶­¤Ç¹Ô¤ï¤ì¤ë¡£¾ÜºÙ¤Ï 3.5 ÊÑ¿ô¤Î¥¹¥³¡¼¥× ¤ò¸«¤è¡£

(3)

·«¤êÊÖ¤·Ê¸¤Ïʸ¤â¤·¤¯¤Ï¥Ö¥í¥Ã¥¯Ê¸¤ò·«¤êÊÖ¤·É¾²Á¤¹¤ë¤³¤È¤ò °ÕÌ£¤¹¤ë

(4)

ÌõÃí:ʸ̮(context)

(5)

ÌõÃí:ÂåÍý(proxy)

(6)

dispatching: ưŪ¥¿¥¹¥¯»ØÌ¾¡¢¿ÍºàÇɸ¯¡¢ºî¶ÈʬÇÛ

(7)

ÌõÃí¡§°Ê²¼·ç


[Top] [Contents] [Index] [ ? ]

Table of Contents

1. ½ø
2. ¥ª¥Ö¥¸¥§¥¯¥È
2.1 ´ðËÜ·¿
2.1.1 ¥Ù¥¯¥È¥ë
2.1.2 ¥ê¥¹¥È
2.1.3 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È
2.1.3.1 ¥·¥ó¥Ü¥ë¥ª¥Ö¥¸¥§¥¯¥È
2.1.4 ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È
2.1.5 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È
2.1.6 NULL
2.1.7 Áȹþ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤ÈÆÃ¼ì·Á¼°
2.1.8 Promise ¥ª¥Ö¥¸¥§¥¯¥È
2.1.9 ¥É¥Ã¥È
2.1.10 ´Ä¶­
2.1.11 ÂХꥹ¥È¥ª¥Ö¥¸¥§¥¯¥È
2.1.12 "any" ·¿
2.2 °À­
2.2.1 ̾Á°
2.2.2 ¼¡¸µ
2.2.3 ¼¡¸µÌ¾
2.2.4 ¥¯¥é¥¹
2.2.5 »þ·ÏÎó°À­
2.3 ÆÃ¼ì¤ÊÊ£¹ç¥ª¥Ö¥¸¥§¥¯¥È
2.3.1 °ø»Ò
2.3.2 ¥Ç¡¼¥¿¥Õ¥ì¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È
3. ɽ¸½¼°¤Îɾ²Á
3.1 ñ½ã¤Êɾ²Á
3.1.1 Äê¿ô
3.1.2 ¥·¥ó¥Ü¥ë¾È¹ç
3.1.3 ´Ø¿ô¸Æ¤Ó½Ð¤·
3.1.4 ±é»»»Ò
3.2 À©¸æ¹½Â¤
3.2.1 ifʸ
3.2.2 ·«¤êÊÖ¤·Ê¸
3.2.3 reapetʸ
3.2.4 whileʸ
3.2.5 for
3.2.6 switch
3.3 ´ðËÜŪ»»½Ñ±é»»
3.3.1 ¥ê¥µ¥¤¥¯¥ëµ¬Â§
3.3.2 ̾Á°¤ÎÅÁÇÅ
3.3.3 ¼¡¸µÂ°À­
3.3.4 NA ¤Î½èÍý
3.4 ź»úÁàºî
3.4.1 ¥Ù¥¯¥È¥ë¤Ë¤è¤ëź»úÁàºî
3.4.2 ¹ÔÎó¤ÈÇÛÎó¤Îź»úÁàºî
3.4.3 ¾¤Î¹½Â¤¤Îź»úÁàºî
3.4.4 Éôʬ½¸¹ç»ØÄê
3.5 ÊÑ¿ô¤Î¥¹¥³¡¼¥×
3.5.1 Âç¶É۴Ķ­
3.5.2 ¼­½ñ¼°´Ä¶­
3.5.3 ¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯
3.5.4 ¸¡º÷¥Ñ¥¹
4. ´Ø¿ô
4.1 ´Ø¿ô¤ò½ñ¤¯
4.1.1 ¹½Ê¸¤ÈÎã
4.1.2 °ú¿ô
4.2 ´Ø¿ô¥ª¥Ö¥¸¥§¥¯¥È
4.3 ɾ²Á
4.3.1 ɾ²Á´Ä¶­
4.3.2 °ú¿ô¾È¹ç
4.3.3 °ú¿ôɾ²Á
4.3.4 ¥¹¥³¡¼¥×
4.4 ÊÄÊñ
5. ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°
5.1 ÄêµÁ
5.2 ¥°¥ë¡¼¥×¥á¥Ã¥½¥É
5.3 ¥á¥Ã¥½¥É¤ò½ñ¤¯
6. ¸À¸ì¼«ÂÎ¤Î¥×¥í¥°¥é¥ß¥ó¥°
6.1 ¸À¸ì¥ª¥Ö¥¸¥§¥¯¥È¤ÎľÀÜŪÁàºî
6.2 ÂåÆþ
6.3 ɾ²Á¤Ë´Ø¤¹¤ëÄɲÃ
6.4 ɽ¸½¼°¥ª¥Ö¥¸¥§¥¯¥È¤Îɾ²Á
6.5 ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁàºî
6.6 ´Ø¿ô¤ÎÁàºî
7. ¥·¥¹¥Æ¥à¤È³°Éô¸À¸ì¤È¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹
7.1 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹
7.2 ³°Éô¸À¸ì¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹
7.3 .Internal ¤È .Primitive
8. Îã³°½èÍý
8.1 stop
8.2 warning
8.3 on.exit
8.4 restart
8.5 ¥¨¥é¡¼»þ¥ª¥×¥·¥ç¥ó
9. ¥Ç¥Ð¥Ã¥°
9.1 browser
9.2 debug/undebug
9.3 trace/untrace
9.4 traceback
10. ¹½Ê¸²òÀÏ
10.1 ¹½Ê¸²òÀϤβáÄø
10.1.1 ¹½Ê¸²òÀϤΥ⡼¥É
10.1.2 ÆâÉôɽ¸½
10.1.3 µÕ¹½Ê¸²òÀÏ
10.2 ¥È¡¼¥¯¥ó
10.2.1 Äê¿ô
10.2.2 ¼±ÊÌ»Ò
10.2.3 ͽÌó¸ì
10.2.4 ÆÃ¼ì±é»»»Ò
10.2.5 ʬΥµ­¹æ
10.2.6 ±é»»»Ò¤Î¥È¡¼¥¯¥ó
10.2.7 ¥°¥ë¡¼¥×²½¥·¥ó¥Ü¥ë
10.2.8 ź»úÁàºî¤Î¥È¡¼¥¯¥ó
10.3 ɽ¸½¼°
10.3.1 ´Ø¿ô¸Æ¤Ó½Ð¤·
10.3.2 ´ÖÃֱ黻»Ò¤ÈÁ°Ãֱ黻»Ò
10.3.3 ź»ú¹½À®
10.3.4 Ê£¹çɽ¸½¼°
10.3.5 ή¤ìÀ©¸æÍ×ÁÇ
10.3.6 ´Ø¿ôÄêµÁ
´Ø¿ô¤ÈÊÑ¿ô¤Îº÷°ú
A. »²¹Íʸ¸¥

[Top] [Contents] [Index] [ ? ]

Short Table of Contents

1. ½ø
2. ¥ª¥Ö¥¸¥§¥¯¥È
3. ɽ¸½¼°¤Îɾ²Á
4. ´Ø¿ô
5. ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°
6. ¸À¸ì¼«ÂÎ¤Î¥×¥í¥°¥é¥ß¥ó¥°
7. ¥·¥¹¥Æ¥à¤È³°Éô¸À¸ì¤È¤Î¥¤¥ó¥¿¥Õ¥§¥¤¥¹
8. Îã³°½èÍý
9. ¥Ç¥Ð¥Ã¥°
10. ¹½Ê¸²òÀÏ
´Ø¿ô¤ÈÊÑ¿ô¤Îº÷°ú
A. »²¹Íʸ¸¥

[Top] [Contents] [Index] [ ? ]

About this document

This document was generated using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by Shigeru Mase on January, 13 2002 using texi2html