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

アールメカブ


日録2008年_2月 のバックアップソース(No.20)

[[過去の日録]]
* 2008年 2月 7日(木) 曇 [#z3f842b2]
- 06:00 起床
-- 長いこと老人たちがゲートボールを楽しんでいた空き地が,造成され始めた.
-- 07:20 研究室着
- 午前
-- Flushplugin-nonfreeなるアップデート.ここで nonfreeたぁ,どういう意味でぇ?
-- [[LeeのBayesian Statistics第3版>書籍検索:Lee Bayesian Statistics]]だが,2版と比べると誤植が減り,また説明も丁寧になっているもよう.学生でも読めるかな(もっとも学生向けの本なのだが)?
-- 11:00-12:15 病院で花粉症の治療,410円,近くの薬局で薬(アレグラ錠60mg,1日2回*30日)と点鼻薬(フルナーゼ50ug28, 1日1回*3本),目薬処方(アイビナール点眼液,かゆいときのみ1回*3本),3990円.病院が新舎に移っており,昔の入り口から,旧舎内の臨時の誘導路を通ってたどり着いた.耳鼻科は月,木,金の午前(9:00-11:30)が受付.待ち時間に「武士の家計簿」を読む.
- お昼.乾麺
-- たまたま goo の占いという欄が目に入った.占いなぞに興味はないが,しかし「欲しい情報が得られそう。信頼できる人に尋ねてみて。」とある.これって占いなのかね.

* 2008年 2月 6日(水) 曇 [#u5a2a6d3]
- 06:00 起床
-- 07:20 研究室着(整頓) 
- 午前
-- 最近,RとJavaのインターフェイスを実現するCプログラムをコンパイルしようとすると,以下のようなエラーに遭遇する.
  error: expected ‘=’, ‘,’, ‘;’, ‘asm’ 
  or ‘__attribute__’ before 
どうもヘッダファイルが正しく読み込めていないようなので,明示的にLD_INCLUDE_PATHを設定した他,ついでにR_HOME, JAVA_HOME, CLASSPATH なども設定してみた.ちなみに,この四つは今までは未設定で空のまま.しかし,エラーは消えない.

 Rengine.c: In function ‘Java_org_rosuda_JRI_Rengine_rniParse’:
 Rengine.c:89: error: too few arguments to function ‘R_ParseVector’

どうもコードに問題があるらしい.コードを直さにゃ通らんか...
--  [[SJava_0.69-0.tar.gzをコンパイルする>SJavaのコンパイル]]ために苦労して,その後 JavaからRを呼ぶには[[JRI_0.2-4.tar.gz:http://rosuda.org/JRI/]]も使えるようだとおもって,こちらをコンパイルしようとしてるのだが.ちなみに同じことをFedoraで試してみると,こちらではRのヘッダファイルが読み込めないというエラーが出た.変だな.LD_INCLUDE_PATHなどに加えて,R_INCLUDE_DIR, R_SHARE_DIR,R_DOC_DIRもセットしたのだが...
--- 試行錯誤の末,FedoraではLD_INCLUDE_PATHではなく,

 export C_INCLUDE_PATH=/usr/local/lib64/R/include

でヘッダファイルへのパスが通った.
-- さてさて,コードを直すのも面倒だなと思って,さらに良く調べると,JRIは,rJavaにすでに含まれており,わざわざコンパイルする必要がない...
-- いずれにせよ,libR.soがなかったようなので,[[Rをshare library  オプション付きで再コンパイルする:http://www.omegahat.org/RSJava/FAQ.html]]ことにした.
-- R-2.6.0 のディレクトリで
 make distclean
を実行する.これは
>
This removes any existing libraries which may not be recompiled to link against libR.so.
<
だそうな.
次に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をもう一度コンパイルとインストール.やれやれ.
-- さてここで&color(blue){JRI/examples}; にあった rtest.javaをコンパイルしようとすると
 rtest.java:9: TextConsole は abstract でなく、 
 org.rosuda.JRI.RMainLoopCallbacks 内の 
 abstract メソッド  rWriteConsole
 (org.rosuda.JRI.Rengine,java.lang.String,int) 
 をオーバーライドしません。
といわれる.この日本語何とかしてくれ.&color(red){「オーバーライドしません」};ではなくて,&color(blue){「オーバーライドされていません」};だろう...そこで,無理やり rtest.java に
 public void rWriteConsole(Rengine re, 
  String text, int i) {
    System.out.print(text);
 }
を追加して抽象関数を&color(blue){オーバーライドし};,コンパイルした.実行すると 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)]
と,まあ,実行された.修正ファイルは&ref(rtest.java);ここ.
- 午後.ヨーグルト.カロリーメイトチョコ.
-- [[LeeのBayesian Statistics第3版>書籍検索:Lee Bayesian Statistics]]が届いた.2版は読んだことがあるが,とにかく誤植が多くて閉口だった.第3版はRのコードが付記されているらしいのだが.
-- 去年の早い段階で生協に発注し,その後,たびたび継続してきたInference and Disputed Authorship も同じく届いた.中を見ると,前書きと目次だけで38ページもある.
-- Alebert の ''LearnBayes''パッケージには Dirichlet 分布の関数が実装されていた.
- 定時帰宅,定時就寝

* 2008年 2月 5日(火) 晴 [#kf72afea]
- 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がシームレスに使えればね.
//必須の私にも,iGoogleは便利は便利.個人情報なぞ,どうでもいい.画面上のテーマというのが,時間によって表示が変わり,なかなかよろしい.
-- 帰り際,近くの研究室の留学生から,アンケート結果の集計結果について「統計的検定」を行う方法を尋ねられた.しかし,いろいろお話をうかがっても分析意図やアンケート内容が良く分からず,ご本人はさかんに「エックス二乗検定」(「カイ二乗検定」のことらしい)をやりたいとおっしゃるのだが,どう説明してあげるべきか,少々弱った.一応,こうしたらどうかと意見は述べたけど,伝わっただろうか?
- 定時帰宅.クローズアップ現代でソフトウェアのバグについての話題を取り上げていた.定時就寝.

* 2008年 2月 4日(月) 晴 [#b5ff282d]
- 06:00 起床
-- 昨日あれだけ飲んだのだが,別に何ともない...
-- 07:20 研究室着 (整頓)
- 午前
-- Yahooにこういう[[テキスト解析サービス:http://developer.yahoo.co.jp/jlp/]]がある.
-- NTCIR Test Collection のデータコレクションNTCIR-3 CLIR: Topics and Relevance Judgments (17.2 MB)をダウンロード.
-- [[CaboCha がUTF-8に対応した:http://chasen.org/~taku/blog/archives/2008/01/cabocha_060_pre.html]]という情報があったので,さっそくインストールしてみた.拡張子が bz2 となっている圧縮ファイルの解凍方法をすぐ忘れてしまう.
 bzip2 -cd cabocha-0.60pre2.tar.bz2 | tar xf -
--- configure は通ったが,make が通らない.[[CRF++: Yet Another CRF toolkit:http://crfpp.sourceforge.net/]]が必要なもよう.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:http://www.swig.org/]]なるものを見つけた.Swigについては[[ここのサイト:http://d.hatena.ne.jp/higepon/20050915/1126767727]]など参考になる.
-- 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日(日) 曇 [#xbcd1e2b]
- 06:00 起床 
- 午後
-- 自宅のUbuntuにwineとR2WinBUGSをインストール.
-- 昼から寝るまで,ちびちびとやっていたら一升まるまる空けてしまった模様.
- 定時就寝



* 2008年 2月 2日(土) 曇 [#l72fab92]
- 06:00 起床
-- 07:20 研究室着 (整頓)
- 午前
-- 問い合わせに応じてc++のプログラム &ref(strTest.cpp); をチョコチョコッと作成.ついでにVisual C++ で[[コントロールを配列化]]する方法.
- 午後.乾麺.ヨーグルト.
-- 例によってベイズ.
- 整頓して定時帰宅、2合のんで定時就寝

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