¥È¥Ã¥× º¹Ê¬ °ìÍ÷ ¥½¡¼¥¹ ¸¡º÷ ¥Ø¥ë¥× RSS ¥í¥°¥¤¥ó

BugTrack-£ÒÈ÷˺Ͽ/14

£ÒÈ÷˺Ͽ /¾õÂÖ¶õ´Ö¥â¥Ç¥ê¥ó¥°/donlp2/¤½¤Î¾¤Î¥á¥â

£ÒÈ÷˺Ͽ - µ­»ö°ìÍ÷

Java¤«¤éRserve¤ò»È¤¦

  • Åê¹Æ¼Ô¡§ ¤ß¤å
  • ¥«¥Æ¥´¥ê¡§ ¤Ê¤·
  • Í¥ÀèÅÙ¡§ ÉáÄÌ
  • ¾õÂÖ¡§ ´°Î»
  • Æü»þ¡§ 2008ǯ12·î04Æü 22»þ20ʬ09ÉÃ

ÆâÍÆ

Java¤«¤éR¤òÁàºî¤¹¤ë¡¥¤½¤Î¤È¤­¤ËRserve¤ò²ð¤¹¤ëÊýË¡¡¥

Rserve¤È¤Ï

Rserve is a TCP/IP server which allows other programs to use facilities of R
from various languages without the need to initialize R or link against R library. 

¥À¥¦¥ó¥í¡¼¥É

  • R¤ª¤è¤ÓRserve¤ÏLinuxÈǤòº£²ó¤Ï»ÈÍÑ
  • Åê¹Æ»þÅÀ¤Ç¤ÎºÇ¿·ÈÇ¡ÖRserve_0.3-17.tar.gz¡×¤òhttp://rosuda.org/Rserve/down.shtml¤«¤é¥À¥¦¥ó¥í¡¼¥É

¥¤¥ó¥¹¥È¡¼¥ë

  • ¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é
$ R CMD INSTALL Rserve_0.3-17.tar.gz

ÀßÄê¥Õ¥¡¥¤¥ë¤Îµ­½Ò

  • Rserve¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥ê¥â¡¼¥ÈÀܳ¤ÏµñÈݤ¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤ß¤¿¤¤¤Ç¤¹¡¥¡Ö/etc/Rserv.conf¡×¤¬ÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤¹¤Î¤Ç¡Ê¤Ê¤±¤ì¤Ð¼«Ê¬¤ÇºîÀ®¡¢¤È¤¤¤¦¤«ºÇ½é¤Ï¤Ê¤¤¤È»×¤¦¡Ë
 remote enable

Rserve¤Îµ¯Æ°

$ R CMD Rserve
  • R¤ò¥Ç¡¼¥â¥ó¥â¡¼¥É¤Çµ¯Æ°¤·¤¿¤èŪ¤Ê¥á¥Ã¥»¡¼¥¸¤¬½Ð¤ë
  • ps¥³¥Þ¥ó¥É¤Ç¤âRserve¤¬Æ°¤¤¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ¤ß¤Þ¤·¤ç¤¦

Rserve¤ÎÄä»ß

  • Ä귿Ū¤ÊÊýË¡¤¬¤ï¤«¤ê¤Þ¤»¤ó
  • ¤¤¤Ä¤â¡Ökill -9 ¥×¥í¥»¥¹ÈÖ¹æ¡×¤Çkill¤·¤Æ¤¤¤Þ¤¹¡¥

Java¤Î½àÈ÷

  • Windoows¾å¤ÇEclipse¤«¤é»È¤Ã¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤¹¡¥

Java¤Î¥¯¥é¥¤¥¢¥ó¥ÈÍÑ¥¯¥é¥¹¤Î¥À¥¦¥ó¥í¡¼¥É

  • Rserve¤Î¥À¥¦¥ó¥í¡¼¥É¤Î¥Ú¡¼¥¸¤Î¡ÚJava client¡Û¤«¤é¡ÖJRclient-RF503.jar¡×¤«¡ÖJRclient-RF503.tar.gz¡×¤ò¥À¥¦¥ó¥í¡¼¥É¡¥¤ß¤å¤Ïtar¤Î¤Û¤¦¤ò¥À¥¦¥ó¥í¡¼¥É
  • ²òÅह¤ë¤È
  • ¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡¥

Eclipse¤Ø¤ÎÅÐÏ¿

  • ŬÅö¤Ê¥×¥í¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹
    • ¤ß¤å¤Î´Ä¶­¤Ç¤Ï¡ÖJRclient¡×
    • ¡Öexamples¡×¤Ï¤³¤³¤Ç¤Ï»È¤¤¤Þ¤»¤ó¡¥
  • ¥½¡¼¥¹¤ò°Ê²¼¤Î¤è¤¦¤ËÇÛÃÖ¤·¤Þ¤¹¡¥¤³¤Î¤È¤ª¤ê¤Ç¤Ê¤¯¤Æ¤â¤¤¤¤¤Ç¤¹¡¥¥¨¥é¡¼¤¬½Ð¤Æ¤¤¤Ê¤±¤ì¤Ð¡¥
  • ¤³¤ì¤Ç½àÈ÷¤Ï´°Î»

Java¤Î¥¯¥é¥¤¥¢¥ó¥ÈÍÑ¥½¡¼¥¹¥³¡¼¥É¤ò½ñ¤¯

  • ¤µ¤Ã¤­ºî¤Ã¤¿Rserve¥¯¥é¥¤¥¢¥ó¥ÈÍÑ¥¯¥é¥¹¤¬¤¢¤ë¥×¥í¥¸¥§¥¯¥È¤Ëºî¤Ã¤Æ¤â¤¤¤¤¤Ç¤¹¤¬¡¢¤ß¤å¤ÏÊÌ¥×¥í¥¸¥§¥¯¥È¤Ë¤·¤Þ¤·¤¿¡¥¡ÖJRclientExamples¡×¥×¥í¥¸¥§¥¯¥È¤Ç¤¹¡¥

¥×¥í¥¸¥§¥¯¥È»²¾È

  • ¤³¤Î¥×¥í¥¸¥§¥¯¥È¤¬¤µ¤Ã¤­ºî¤Ã¤¿¡ÖJRclient¡×¤ò»²¾È¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡¥Äɲåܥ¿¥ó¤«¤éÄɲä·¤Þ¤¹¡¥

Îã­¡

  • ½ñ¤¯¤Ã¤Æ¸À¤¤¤Þ¤·¤¿¤±¤É¡¢¤È¤ê¤¢¤¨¤º¤µ¤Ã¤­»È¤ï¤Ê¤«¤Ã¤¿¡Öexamples¡×¥Õ¥©¥ë¥À¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤ò»È¤¤¤Þ¤¹¡¥
  • ¡Öexamples¡×¥Õ¥©¥ë¥À¤Ë¤¢¤ë¡Ött.java¡×¤òŬÅö¤Ê¥Ñ¥Ã¥±¡¼¥¸¤ËÇÛÃÖ¤·¤Þ¤¹¡¥
  • ¡Ött.java¡×¤Î£±£°¹ÔÌܤ¢¤¿¤ê¤Ë¤¢¤ë
Rconnection c = new Rconnection((arg.length>0)?arg[0]:"127.0.0.1"); // make new connecton
  • ¤ò¡¢Êѹ¹¤·¤Þ¤¹¡¥
  • ¡Ö127.0.0.1¡×¤¬ÀܳÀè¤ÎRserve¤¬Æ°¤¤¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ÎIP¥¢¥É¥ì¥¹¤Ç¤¹¡¥¥µ¡¼¥Ð¡¼¤Î̾Á°¤Ç¤âÀßÄê¤Ç¤­¤Þ¤¹¡¥
Rconnection c = new Rconnection((arg.length>0)?arg[0]:"¥µ¡¼¥Ð¡¼Ì¾"); // make new connecton
  • ¤Î¤è¤¦¤Ë¤¹¤ë¤«
Rconnection c = new Rconnection((arg.length>0)?arg[0]:"192.168.aa.bb"); // make new connecton
  • ¤Î¤è¤¦¤Ë¡Êaa¤Èbb¤Ï¿ô»ú¡¢¡Ö192.168.aa.bb¡×¤ÏRserve¤¬Æ°¤¤¤Æ¤¤¤ë¥µ¡¼¥Ð¡¼¤ÎIP¥¢¥É¥ì¥¹¡ËÊѹ¹¤·¤Þ¤¹¡¥
  • ¤³¤Î¡Ött.java¡×¤ò¼Â¹Ô¤·¤Þ¤¹¡¥¤ß¤å¤Î´Ä¶­¤Ç¤Ï
Server vesion: 102
creating large data ...
assigning data ...
create matrix ...
retireve matrix ...
get as matrix ...
got: [REAL* 
attr=[LIST [INT* (2048, 1024)] <-> [NULL ]]
(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, ¡¦¡¦¡¦99.0, ... (2097052 more values follow))]
got m(2048,1024)
  • ¤Î¤è¤¦¤Ë¡¢¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤµ¤ì¤Æ¡¢¼Â¹Ô¤¬½ªÎ»¤·¤Þ¤¹¡¥
  • ¥µ¡¼¥Ð¡¼¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤Î¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ç¤¹¡¥
Rserve exception: Cannot connect: No route to host: connect
  • ¥µ¡¼¥Ð¡¼¤Ï¸«¤Ä¤«¤Ã¤¿¤±¤ÉÀܳ¤¬µñÈݤµ¤ì¤¿¾ì¹ç
Rserve exception: Cannot connect: Connection refused: connect

Îã­¢

¥³¥á¥ó¥È