日録2008年_2月 のバックアップ(No.16) - アールメカブ

アールメカブ


日録2008年_2月 のバックアップ(No.16)


過去の日録

_ 2008年 2月 6日(水) 曇

  • 06:00 起床
    • 07:20 研究室着(整頓)
  • 午前
    • 最近,RとJavaのインターフェイスがらみでコンパイルをすると,以下のようなエラーに遭遇する.
       error: expected ‘=’, ‘,’, ‘;’, ‘asm’ 
       or ‘__attribute__’ before 
      どうもヘッダファイルが正しくインクルードされていないようなので,明示的にLD_INCLUDE_PATHを設定した他,ついでにR_HOME, JAVA_HOME, CLASSPATH なども設定してみた.ちなみに,この四つは今までは未設定で空のまま
    • SJava_0.69-0.tar.gzをコンパイルするために苦労しているわけだが,JavaからRを呼ぶにはJRI_0.2-4.tar.gzも使えるようだ.が,やはりコンパイルが通らない.R_INCLUDE_DIR, R_SHARE_DIR,R_DOC_DIRもセットしたのだが...ところが,良く調べると,JRIは,rJavaにすでに含まれており,わざわざコンパイルする必要がない...
    • いずれにせよ,libR.soがなかったようなので,Rをshare library オプション付きで再コンパイルすることにした.
    • R-2.6.0 のディレクトリで
      make distclean
      を実行して,R-2.6.1を以下のようにコンパイルする.
      $ ./configure --enable-R-shlib
      $ make 
      $sudo make install
      RのJava環境をセットしなおす.
      $ sudo R CMD javareconf
      Java interpreter : /usr/lib/j2se/1.4/jre/bin/java
      Java version     : 1.4.2-02
      Java home path   : /usr/lib/j2se/1.4
      Java compiler    : /usr/lib/j2se/1.4/bin/javac
      Java headers gen.: /usr/lib/j2se/1.4/bin/javah
      Java archive tool: /usr/lib/j2se/1.4/bin/jar
      Java library path:  
      $(JAVA_HOME)/jre/lib/i386/client:
      $(JAVA_HOME)/jre/lib/i386:
      $(JAVA_HOME)/jre/../lib/i386::/usr/lib:
      /lib:/usr/lib/j2se/i386:
      /usr/lib/jni
      JNI linker flags :
      -L$(JAVA_HOME)/jre/lib/i386/client  
      -L$(JAVA_HOME)/jre/lib/i386
      -L$(JAVA_HOME)/jre/../lib/i386 -L 
       -L/usr/lib -L/lib -L/usr/lib/j2se/i386
      -L/usr/lib/jni -ljvm
      JNI cpp flags    : -I/usr/lib/j2se/1.4/include  
      -I/usr/lib/j2se/1.4/include/linux
      Updating Java configuration in /usr/local/lib/R
      Done.
      ところが,JAVA_HOMEをj2seにすると,R上のrJavaでこける.JAVA_HOMEもR_HOMEをアンセットして,もう一度
      $ sudo R CMD javareconf
      Java interpreter : /usr/bin/java
      Java version     : 1.6.0_03
      Java home path   : 
         /usr/lib/jvm/java-6-sun-1.6.0.03/jre
      Java compiler    : /usr/bin/javac
      Java headers gen.: /usr/bin/javah
      Java archive tool: /usr/bin/jar
      Java library path:  
      $(JAVA_HOME)/lib/i386/server:
      $(JAVA_HOME)/lib/i386:
      $(JAVA_HOME)
         /../lib/i386::/usr/java/packages/lib/i386:
      /lib:/usr/lib
      JNI linker flags : -L$(JAVA_HOME)/lib/i386/server 
      -L$(JAVA_HOME)/lib/i386
      -L$(JAVA_HOME)/../lib/i386 -L 
      -L/usr/java/packages/lib/i386
      -L/lib -L/usr/lib -ljvm
      JNI cpp flags    : 
      -I/usr/lib/jvm/java-6-sun-1.6.0.03/jre/../include 
      -I/usr/lib/jvm/java-6-sun-1.6.0.03/jre/../include/linux
       Updating Java configuration in /usr/local/lib/R
      Done.
      Javaのこと考えて,R-2.6.1をもう一度コンパイルとインストール.やれやれ.
    • JRI/examples にあった rtest.javaをコンパイルしようとすると
      rtest.java:9: TextConsole は abstract でなく、 
      org.rosuda.JRI.RMainLoopCallbacks 内の 
      abstract メソッド  rWriteConsole
      (org.rosuda.JRI.Rengine,java.lang.String,int) 
      をオーバーライドしません。
      といわれる.この日本語何とかしてくれ.「オーバーライドしません」ではなくて,「オーバーライドされていません」だろう...そこで,無理やり rtest.java に
      public void rWriteConsole(Rengine re, 
       String text, int i) {
         System.out.print(text);
      }
      を追加してコンパイルした.実行すると libjri.soがないと文句を言ってくる.
      $ java rtest
      Creating Rengine (with arguments)
      Cannot find JRI native library!
      Please make sure that the JRI native library 
      is in a directory listed in java.library.path.
      そこでパスを明示すると,
      $ java -Djava.library.path=R/lib/rJava/jri rtest
      Exception in thread "main" 
      java.lang.NoClassDefFoundError: rtest
      今度はカレントディレクトリがセットされていない.疲れる.
      $ java -Djava.library.path=.:R/lib/rJava/jri rtest
      Creating Rengine (with arguments)
      Rengine created, waiting for R
      [STRING "iris"]
      [REAL* (6.0)]
      と,まあ,実行された.修正ファイルはfilertest.javaここ.
  • 午後.ヨーグルト.カロリーメイトチョコ.
    • LeeのBayesian Statistics第3版が届いた.初版は読んだことがあるが,とにかく誤植が多くて閉口だった.第3版はRのコードが付記されているらしいのだが.

_ 2008年 2月 5日(火) 晴

  • 06:00 起床
    • 07:20 研究室着
  • 午前
    • linux-headers-2.6.22.-14へのアップデートあり
    • Mainichi Daily News 1998-1999 (12.9 MB) をダウンロード
    • 時系列分析の要点をまとめる.Crawleyを引っ張り出す.
    • T大のY先生よりご著書を賜る.とても面白そうな本でうれしい.
  • 午後.工学部でカレー300円.試験期間中でもあり,周りに顔見知りの学生がたくさんいて,落ち着かん.
    • そろそろ花粉症の薬を貰いに行かなければならないもよう.
    • ベイズの要約を続ける.授業で取り上げられるのは,いつのことになるやら.
    • R であるリストから特定の要素だけを抽出し,抽出したベクトルをまとめて別のリストにまとめようという処理を次のように書いたが,ループなど使わない,もっと賢い方法がありそうな気がする.
      kekka2 <- list()
      j <- 1
      for(i in 1:length(kekka)){
       if(kekka[[i]][2] == "名詞"){
         kekka2[[j]] <- kekka[[i]]
         j <- j+1
      # kekka2 <- c(kekka2, kekka[[i]])#これはダメ
      # kekka2 <- list(kekka2, kekka[[i]])#ましてダメ
        }
      }
      こんなことしてみたけど,条件が偽となる元リストの要素がNULLとして返されてしまう.これを同時に削るのは無理かな?とりあえず NA を返して,最後に一行追加して,NA の行を取り去るという処理もできるけど.
      kekka2 <- rapply( kekka[1:length(kekka)], 
                       function(x) if(x[2] == "名詞") x ,
                       else NA, how = "list")
      kekka2[!is.na(kekka2)]
    • iGoogleなど使い出したけど,これをフルに使うと,OSとブラウザさえあれば,他のソフトは一切必要なさそう...フツーには.あと,RとTeXとEmacsがシームレスに使えればね.
    • 帰り際,近くの研究室の留学生から,アンケート結果の集計結果について「統計的検定」を行う方法を尋ねられた.しかし,いろいろお話をうかがっても分析意図やアンケート内容が良く分からず,ご本人はさかんに「エックス二乗検定」(「カイ二乗検定」のことらしい)をやりたいとおっしゃるのだが,どう説明してあげるべきか,少々弱った.一応,こうしたらどうかと意見は述べたけど,伝わっただろうか?
  • 定時帰宅.クローズアップ現代でソフトウェアのバグについての話題を取り上げていた.定時就寝.

_ 2008年 2月 4日(月) 晴

  • 06:00 起床
    • 昨日あれだけ飲んだのだが,別に何ともない...
    • 07:20 研究室着 (整頓)
  • 午前
    • Yahooにこういうテキスト解析サービスがある.
    • NTCIR Test Collection のデータコレクションNTCIR-3 CLIR: Topics and Relevance Judgments (17.2 MB)をダウンロード.
    • CaboCha がUTF-8に対応したという情報があったので,さっそくインストールしてみた.拡張子が bz2 となっている圧縮ファイルの解凍方法をすぐ忘れてしまう.
      bzip2 -cd cabocha-0.60pre2.tar.bz2 | tar xf -
      • configure は通ったが,make が通らない.CRF++: Yet Another CRF toolkitが必要なもよう.configureの際,意味なさそうだが, UTF8オプションをつけてみた.configureファイルを確認すると,実際,意味なし.
        ./configure --with-charset=UTF8
        make
        sudo  make install
        sudo ldconfig # これを忘れないように
        その上で Cabocha0.60pre2をインストール
        ./configure --with-charset=UTF8
        make
        sudo  make install
        sudo ldconfig # これも忘れないうちに実行しておく
        実行してみる.
        $ cabocha
        僕は,今日大学で授業があるんだ.
           僕は,-----D
         今日大学で---D
               授業が-D
             あるんだ.
        EOS
        $ cabocha -f1
        僕は,今日大学で授業があるんだ.
        * 0 3D 0/1 -1.541709 
        僕      名詞,代名詞,一般,*,*,*,僕,ボク,ボク     O
        は      助詞,係助詞,*,*,*,*,は,ハ,ワ    O
        ,      記号,読点,*,*,*,*,,,,,,      O
        * 1 3D 1/2 -1.541709
        今日    名詞,副詞可能,*,*,*,*,今日,キョウ,キョー        O
        大学    名詞,一般,*,*,*,*,大学,ダイガク,ダイガク        O
        で      助詞,格助詞,一般,*,*,*,で,デ,デ O
        * 2 3D 0/1 -1.541709
        授業    名詞,サ変接続,*,*,*,*,授業,ジュギョウ,ジュギョー        O
        が      助詞,格助詞,一般,*,*,*,が,ガ,ガ O
        * 3 -1D 1/2 0.000000
        ある    動詞,自立,*,*,五段・ラ行,基本形,ある,アル,アル  O
        ん      名詞,非自立,一般,*,*,*,ん,ン,ン O
        だ      助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ   O
        .      記号,句点,*,*,*,*,.,.,.      O
        EOS
        いい模様.
  • 午後.乾麺
    • CaboChaのCインターフェイスを試してみる.
    • CaboCha? Java をキーワードにGoogleしていたら,Swigなるものを見つけた.Swigについてはここのサイトなど参考になる.
    • Rでこういう初期化方法もあるのか.Albert Bayes p.48
      > summ2 <- c()
      > summ2
      NULL
    • ある方が作成したRによる統計関連のpdfファイルを見ていたら,Rで作成されたeps画像内のHelveticaフォントを表示できない.Adobe Reader 8「Helvetica」フォントを検出または作成できません.というエラーが出るようになった.先週ぐらいまでは何の問題もなかったはずなので,この間のUbuntuアップデートによる影響なのか?やれやれ,これは去年まで使っていたFedoraで,自分が作成したpdfでも頻出した現象である.作る側の対処は分かっているのだが.
      • いったん右クリックして,別のビューアーで開いた後,ダブルクリックしてAdobe Reader 8で開いたら,ちゃんとHelveticaを表示するようになった.わけが分からん.この Reader関連のファイルはここにあるようだが.
        /opt/Adobe/Reader8/
  • 定時帰宅,定時就寝

_ 2008年 2月 3日(日) 曇

  • 06:00 起床
  • 午後
    • 自宅のUbuntuにwineとR2WinBUGSをインストール.
    • 昼から寝るまで,ちびちびとやっていたら一升まるまる空けてしまった模様.
  • 定時就寝

_ 2008年 2月 2日(土) 曇

  • 06:00 起床
    • 07:20 研究室着 (整頓)
  • 午前
  • 午後.乾麺.ヨーグルト.
    • 例によってベイズ.
  • 整頓して定時帰宅、2合のんで定時就寝

_ 2008年 2月 1日(金) 曇

  • 06:00 起床
    • 07:20 研究室着 (整頓)
  • 午前
    • 充電.
    • Bayes 関連の調べ物.
    • 授業用にVBでHashtableを作成.
    • 黒マックにFinkをインストール sudo でClosest URLを使うよう指定した.
  • 午後.来客と外食.
    • 東京から電話.
    • 16:20-18:40 ゼミ.
  • 定時帰宅,4合ばかりのんで定時就寝.『算法少女』を一気に読んだ.