日録2008年_2月 - RとLinuxと...

RとLinuxと...


日録2008年_2月

過去の日録

_ 2008年 2月29日(金) 晴

  • 07:00 起床
    • 09:00 研究室着(整頓)
  • 午前
    • 学生バイト代等清算
  • 午後.乾麺
    • テキストマイニング続行.回答末尾の助詞をファクター化し,これと共変量の関係を探ってみる.
      • 敬語の使い方,関西人の表現に関連して,直感に反しない結果が出た.もっとも,直感に反しないというのは,言いようによっては「当たり前」の結果と言うことでもあるが.
      • 頂いた自由記述アンケートのQ1(1)と Q2(2)について一通りの分析を実行した.なかなかおもしろい結果が出た.ただし,もとデータのカテゴリ数がかなり偏っているのが残念.
    • 最後にもう一度学生アルバイトの金勘定
  • 定時帰宅,定時就寝

_ 2008年 2月28日(木) 晴

  • 05:50 起床
    • 07:30 研究室着
  • 午前
    • 充電
    • 朝一で会議関連の資料作成
    • S先生から預かったテキストデータのマイニングを続ける.
  • 午後.乾麺.
    • テキストマイニング継続.興味深い結果は出るのだけど,データのカテゴリ数に偏りがあるので,断定的なことが言えないなぁ.
    • 確定申告書類を送る
    • 夕方からコンパ.
  • 10:00頃帰宅,風呂入って就寝.

_ 2008年 2月27日(水) 晴

  • 05:50 起床
    • 07:30 研究室着
  • 午前
    • 忙しい...
    • 10:00 から臨時の委員会WG
  • 午後.乾麺
    • 事務仕事の真っ最中に教えて君.もっと早く相談に来なさい.
    • S先生から頂いた資料に基づき,R+和布蕪による日本語解析を開始.
      • ロジスティックで,敬語表現の有無を回帰してみるが,やや直感に反する結果を得た.モデルを再考する.
      • ついでなのでR_二値の集計R_データのカテゴリ化というメモを作成.
  • 定時帰宅,定時就寝

_ 2008年 2月26日(火) 曇

  • 05:30 起床
    • 07:00 研究室着
  • 午前
    • S先生より頂いたアンケートで,カテゴリ回答部分についてのみ,分析をしてみた.
    • 久しぶりに対応分析,すなわちコレスポンデンス分析をしようとしたら,例のmultivパッケージは見当たらない.MASSライブラリのmca()関数やcorresp()関数を使えば良いのだが,他に探してみると,ade4なるパッケージやらveganなるパッケージも使えるらしいが.
library(vegan)
?cca
?plot.cca # argument: type

library(ade4)
?dudi.coa
?scatter.coa
?s.label # arguments: add.plot and label

_ 2008年 2月25日(月) 晴

  • 06:00 起床
    • 07:30 研究室着(整頓)
  • 午前
    • Moodle を少しいじってみる.設定画面ごとのロールというのがよく分からんなぁ.
    • Subversion の papers レポジトリを再構成した.
    • 本格的に発表のスライド作成を開始.
  • 午後.乾麺
    • T 氏来訪.Moodleについて.
    • S 先生より,自由記述アンケートのファイルを頂いた.残念ながら,すべてカタカナに直してある.これでは形態素解析できない.少し考えたが,置換を駆使して,もとの日本語にもどそう.
  • 定時帰宅,定時就寝

_ 2008年 2月24日(日) 晴 (強風)

  • 07:00 起床
  • 午前
    • Joomlaにバックアップ用のJoomlaPack?を導入し,さらにJoomlaTeXというのもいれてみたが,後者はサーバー内部に別途LaTeXが必要だと分り,こちらはすぐに削除する.JoomlaにはMimeTeXは入れられないのか?
    • pukiwikiにmimeTeXを導入なかなかいいではないか.
a math image

  Joomlaでは数式が使えないならば,やはりJoomlaへ乗り換えるのは止めよう.

  • よんごうばかりで,定時より遅れて就寝

_ 2008年 2月23日(土) 晴 (ひどい強風)

  • 07:00 起床
    • 08:10 研究室着(整頓)
      • 異常な情熱をもって,整頓をしてしまった...
  • 午前
    • pukiwiki の文字コードを euc から UTf-8 に移行したい.こことかここにスクリプトの紹介があるが,トラブル無く実行可能だろうか?ほかにここ にも情報あり.
  • 午後.乾麺
    • ようやっとスライド作りに入る.
    • Anthy の変換効率が非常に悪いのだが,今日になって,Anthy のデフォルト辞書設定ファイル /etc/atnthy/diclist を見てみると,base.t extra.t の 二つしかないことに気がつき,さっそく/usr/share/anthy/dicにある他の辞書を追加しようかとおもったのだが,
      $ ls /usr/share/anthy/dic
      2ch.t     base.t      extra.t     
      gcannaf.ctd  name.t      udict   
      zipcode.t adjust.t  compound.t 
      gcanna.ctd  gtankan.ctd
      tankanji.t  utf8.t

どうも,それ以外の辞書もスクリプトで自動的に読み込まれるらしい. で,デフォルトにはない美沙緒辞書というのを追加してみる.

  • ログインしなおして使ってみる.何となく変換効率が上がっているような気もする.
  • 気ままなブログなので,人様の書き込みは一切想定していなかったので,書き込み権のことなど一切考えてこなかった.が,プログラム関係で私の書き込みをもとに作業を行う方も稀には居られるよう.そこで,簡単なコメント欄をすべての項目に設けることにした.
  • 今,思い出した.pukiwiki.ini.php には次の項目がある.
    $pagereading_kanji2kana_converter = 'none';
    // Absolute path of the converter (ChaSen)
    $pagereading_chasen_path = '/usr/local/bin/chasen';
    // Absolute path of the converter (KAKASI)
    $pagereading_kakasi_path = '/usr/local/bin/kakasi';
    none なので,関係ないのだが,いずれにせよ今のサーバーにはどちらも入っていない.入れても良いのだが,サーバーでの基本の文字コードはUTF8.しかしpukiwikiのコードはEUC. Chasenは,インストール時にコードの指定が必要だったな.今更 EUC を使いたくないし..
  • Joomla をかなりしつこくいじり,コンポーネントであるLD-WordPress?をアドインし,そのWordPress?にmimeTexをプラグインに導入する.うーん,使えるかな? しかしJoomla側で,内部リンクを張るのが面倒だなと思ったら,そのためのマンポッドのTitleLink?があった.ところが,アドインされているLD-WordPress?内では使えない.それにWikiだと,これから各ページもかぎ括弧で囲んでタイトルさえ書いていれば,そこから直ちにページを作成できるが,Joomlaではできるのだろうか?
  • 定時帰宅,かなり飲んでだいぶ遅くなって就寝

_ 2008年 2月22日(金) 晴

  • 05:50 起床
    • 07:20 研究室着(整頓)
  • 午前
    • ドイツの学会から,会員継続するのかと催促のメール.すると返答する.
  • 午後.M君と弁当
    • Farawayの整理を続ける.
  • 定時帰宅,4ごうで定時就寝

_ 2008年 2月21日(木) 晴

  • 05:30 起床
    • 07:10 研究室着
  • 午前
    • 会議関連の資料作成.最近,この仕事とサーバー構築に忙殺.
    • ようやく,本を読む時間が取れた.すっかり間が開いたが,FarawayのGLMを再読し,説明用にまとめているところであった.
      • satured Model でデータ数と同じパラメータを設定する場合,二次の項やらを導入することになるが,これは説明して分かってもらえるかな.
  • 午後.M君らと弁当.
    • 今日は勉強できるなぁ,と思っていたら,忘れていた会議が二つ.
      • 13:30 -14:00 立ち話なら数分で済む用件に30分.
    • 16:00 Farawayに戻る.
      • 仮説検定に null distribution というタームを使っての説明あり.p.121-122
    • 定時帰宅,4ごうで定時就寝

_ 2008年 2月20日(水) 晴

  • 05:00 起床
    • 06:50 研究室着
  • 午前
    • 会議関連の資料作成
    • 近所の先生から,Nortonのアップデートができないと泣きつかれる.対応で2時間潰れる.せっかく朝早くから来ているの,これじゃ,何の意味もない...
  • 午後.M君がMacを差し入れしてくれる.
    • 会議関係の資料作成.
    • 東京へ郵便物
    • 久しぶり,テキストへ.GLM.
    • DELL Inspiron530届く.
    • Joomla 入れてみた.カスタマイズが大変そう.まずはテンプレートさがしか...
    • H氏より,手術無事成功との連絡あり.
  • 定時帰宅,定時就寝

_ 2008年 2月19日(火) 晴

  • 06:00 起床
    • 07:30 研究室着
    • 充電
  • 午前
    • サーバーまわりの調整
    • [es] の設定.設定 > システム > ユーティリティ > 音量調節キー で音量調節、ページスクロールの変更.さらに[スタート] −[設定] −[Today]−[ホームメニュー]タブをタップ.Today画面でのカーソルキー動作として、いずれかのパターンを選択
  • 午後.乾麺
    • R大S氏とメールのやりとり.
    • 午後も忙しいが,明日からは自分の仕事に戻れるかな?
    • 15:30-18:00 大学病院へS氏のお見舞い.T氏,K氏と車で行く.大学病院に足を踏み入れるのは久しぶりだが,1階にはコンビニやコーヒーのタリーズまであって,驚いた.病室でS氏がMacに向かっていた.無線LANが届いている由.奥様と初めてお会いする.明日,2時ごろから手術だそうで,無事済むことを一同祈る.
  • 定時帰宅,定時就寝

_ 2008年 2月18日(月) 晴

  • 05:00 起床
    • 07:00 研究室着(整頓)
    • 午前.サーバーまわりの調整
    • moodle をインストールしてみた.
    • この間,断続的にサーバーをreboot
    • M 君アルバイト
  • 午後.M君らと中華弁当
    • 学生アルバイトを召集したがぁ.
    • 何だかバカな忙しさ.
    • 16:00-18:00 会議(将来構想)
  • 定時帰宅,定時就寝

_ 2008年 2月17日(日) 快晴

  • 07:00 起床
    • 発想を変えて,Java から R を呼び出すことをやってみた.JRIについているサンプル filertest.java を若干いじる.
    • rJava など,いじりながら,昼から大酒飲んでしまった,
  • 定時就寝

_ 2008年 2月16日(土) 快晴

  • 07:00 起床
    • 08:30 研究室着(整頓)
    • 午前.サーバーまわりの調整.
    • R大のS先生よりメールを頂く.まともな返信をお送りすることができなかった.
  • 午後.乾麺.ヨーグルト
    • 必要もないのに,黒マックの設定をしてしまった.マック版バイナリのRをインストールし,これをCarbonEmacs?とESSで使っている.この場合グラフィックスはX11()が呼び出されるので,適当なフォントの設定をしないと日本語が化ける.
      • なので,sazanamiを /usr/X11/lib/X11/fonts/japanese にコピーし, fonts.dir を作成し,
$ sudo fc-cache -fv

/usr/X11/lib/xintrc/xinitrc を ~/.xinitrc として,ここに

xset +fp /usr/X11R6/lib/X11/fonts/japanese
xset reash
exec quartz-wm

と書いてみた.それとも ~/.font にコピーしても良かったのかな?

  • Mac から一度バイナリ版のRを抜いて,ソースからコンパイルしてみようかなと思って,Rを取り除くスクリプトを書こうと思っていたら,そんな面倒なことではなかった.ここに情報があった.
  • 何だか,まだGmailがおかしい気がするなぁ.
  • 定時帰宅,定時就寝

_ 2008年 2月15日(金) 晴

  • 07:00 起床
    • 08:30 研究室着(整頓)
    • サーバーを設置.
  • 午前
    • サーバーの設定.おおわらわ.
  • 午後.乾麺.
    • Y君が来たのだが,対応できず.
    • iptables の設定, 韓国(.kr)・中国(.cn)・香港(.hk)・台湾(.tw)・インド(.id) インドネシア(.in)フィリピン(.ph)・タイ(.th)・ロシア(.ru) は拒否
    • ここ二日ほど,メールが少ないなぁと思っていたら,Gmail が受信でエラーを起こしていた...さっそく,強制受信を行ったところ,GMailは 一括受信したメイルを一度には一覧に出さない仕様にでもなっているのか,200通受信したという報告のうち,数通しかリスト表示せず,その後,時間差をかけて徐々に表示していく.要するに内容を舐めているのだろうけど,そうと分かっていたなら,本来のpopサーバーから直接受信をしたのに.
    • 夕方から,S氏,T氏,S氏らと将来構想関係の履修モデル作成.
  • 定時よりだいぶ遅れて帰宅し,4ごうばかりで,定時より遅れて就寝.

_ 2008年 2月14日(木) 晴

  • 06:00 起床
    • 07:30 研究室着(整頓)
  • 午前
    • H氏から,XPが起動しなくなったとのこと.MBRが壊れたか何かしたらしい.とりあえず手元にあったINSERTとかいうLinux CDで起動して,バックアップを取ることを考える.
      mount /dev/hda1 /mnt/hda1
      mount /dev/sda1 /mnt/usb
      でマウントでき,後は emeIFMとかいうファイルマネージャーでバックアップを取ればいいのだが,ここで問題発生.日本語ファイル名が化ける.私自身は決してファイル名に日本語を使わない.INSERT に smb が入っていれば問題ないのだが,入っていない.
    • 後は M 君に任せることにして,私は CMS サーバーの設定.
    • 結局,午前中は何もできなかった.
  • 午後.乾麺
    • RtoMecab?のチェック
      R CMD check --use-gct RtoMecab
      でWarnings 一つまで減った.この一つというのは,コードに日本語が入っているというもの.
      checking data for non-ASCII characters ... WARNING
    • CMSサーバー関係のチェック.結局,これで今日は一日潰れた.
  • 定時帰宅.今日はバレンタインらしく、四季善処大吟醸と、calvados 21年物とRemy Martin X.O.、最後にテキーラで、だいぶ遅れて就寝。
    calvados20080214.PNG

_ 2008年 2月13日(水) 晴

  • 05:30 起床
    • 07:00 研究室着(整頓)
  • 午前
    • mecabパッケージなのだが,ライブラリのコンパイルを Makevars.inにしようと思っているのだが,どうもうまくいかん.Makefile.inのままではいかんのだろうか?
    • 苦闘した.というよりマヌケであった.autoconf コマンドを忘れていた.さらに一度 RtoMecab?.so が生成されると,これをR は再コンパイルしないもよう. 簡単ではあるがconfigure.ac は以下のようにした.
      AC_CHECK_LIB(mecab, mecab_new, \
         has_mecab=1, has_mecab=0 )
      dnl Checks for Mecab
      if test $has_mecab = 0; then
        	 AC_MSG_ERROR("FATAL: cannot find \
                             library for -lmecab.")
      fi
      AC_CHECK_LIB(mecab, mecab_new)
      気に入らないのは,AC_CHECK_LIB にライブラリ名と関数名の二つ以外にさらに引数を指定した場合,LIBS変数に -lmecab を自動的には加えてくれないらしい.なので同じチェックをすぐ下で繰り返す. 次に src/Makevar.in は次の一行.
      PKG_LIBS = @LIBS@
      これだけで十分らしい.
      $ rm src/RtoMecab.so
      $ autoconf
      $ R CMD check RtoMecab --no-latex
      なお,この処理で作成される共有ライブラリの名称は,デフォルトでは DESCRIPTIONの最初の行の
      Package: RtoMecab
      が使われるらしい.複数のライブラリを作成する場合はどうなるのだろう?もっとも一つのソースに書くか,一括してリンクすればいいだけなので,そんな必要があるかはしらんけど.
    • さてドキュメント類,すなわち man ディレクトリにおくファイルのフォーマットが良くわからんなぁ.
    • ともかくパッケージ化の見通しはたったものの,まだ先が長いなぁ.
      1. パッケージの洗練化
      2. Windows版バイナリパッケージとしての移植
      3. 同様にMacOSX版の作成
    • という手順を踏んでいこう.
  • お昼.お団子.
    • 久しぶりにテキストに移ろう.
    • HゼミのO君の卒研発表を聞きにいく.
  • 定時帰宅,定時就寝

_ 2008年 2月12日(火) 雨

  • 06:00 起床
    • 07:20 研究室着
  • 午前
    • 一応,簡易的な configure.ac と Makefile.in を作成し,パッケージした結果,Unix系環境でコンパイル,また稼働可能なRパッケージが作成できた.
    • アルバイト学生に英語テキストファイルの構成作業を指示.
  • 午後.乾麺
    • アルバイト学生に英文テキスト構成作業を指示.
    • とりあえず configure.ac だが
dnl  Checks for Mecab# 和布蕪ライブラリがあるか?
AC_CHECK_LIB([mecab], [mecab_new], 
   has_mecab=1, has_mecab=0 )
dnl ないなら,そこでストップ
if test $has_mecab = 0; then
  AC_MSG_ERROR("FATAL: cannot find library for -lmecab")
fi

とだけしておいた.

  • また R のホームディレクトリだが
: ${R_HOME=`R RHOME`}
if test -z "${R_HOME}"; then
  echo "could not determine R_HOME"
 exit 1
fi
  • R に RHOME という引数をつけて実行すると,ホームディレクトリが返ってくるのであった.
  • ここで頭に使われている
    :$
    だが,このコロンコマンドはtrueコマンドの代わりらしく,条件判定などにも使われる,とかNeil Matthewの60ページにある. シェルコマンドは分かりにくいなぁ.
  • で,Makefile.in の方では
    @R_HOME@ 
    を利用する.
  • 夕方から DELL のサーバー組み立て.CDドライブがない.その辺に転がっていたマシンからCDドライブを抜き出して,サーバーに取り付けるも認識しない.BIOSを色々見ると,「デバイス」拡張何とかとか言うメニューがあり,そこを反転してエンターキーで確認してみると,項目の一つでIDEインターフェイスがOFFにされていた.
  • T氏来訪.
  • 結城さんがRパッケージに関するメモを書いているようす.その他,こんなページもあった.
  • 定時より遅れて帰宅,定時就寝.

_ 2008年 2月11日(月) 晴

  • 07:00 起床
    • 08:20 研究室着(整頓)
      • 整頓が過ぎて,疲れた.
    • autoconf, automake, libtool をインストール
  • 午後
    • mecabパッケージの雛形作成.とりあえず,ディレクトリ構成は
      DESCRIPTION  R/  data/  man/  src/
      と,これだけ.configure.acを作らねば. Rディレクトリには
      mecab.R  zzz.R
      zzz.R の中身は
      .First.lib <- function(lib, pkg)
         library.dynam("RtoMecab",pkg,lib)
      .Last.lib <- function(libpath)
         library.dynam.unload("RtoMecab", libpath)
      これだけ. srcディレクトリは
      Makefile  RtoMecab.c
      man ディレクトリには
      package.skeleton(name = "mecab", 
         "mecab", path="~/tmp/packages")
      で自動作成されたファイル
      mecab-package.Rd  mecab.Rd
      の二つだけ. data ディレクトリには,テスト用の日本語テキスト.
R CMD check mecab --no-latex
R CMD build mecab --no-vignettes --force
  • 隣にある64bit Fedoraで試してみたら,
$ R CMD INSTALL mecab_1.0.0.tar.gz
... 中略
gcc -shared -o RtoMecab.so RtoMecab.o 
 -L/usr/local/lib/ -lmecab
/usr/bin/ld: RtoMecab.o: relocation R_X86_64_32 against 
`a local symbol' can not be used when making a shared object; 
recompile with -fPIC
RtoMecab.o: could not read symbols: 不正な値です
collect2: ld はステータス 1 で終了しました
make: *** [RtoMecab.so] エラー 1

言われたとおり, Makefile を修正.

SHLIB = gcc -shared -fPIC

一筋縄でいかんなぁ.しかし,一応,library(mecab) でロードされる.こちらのマシンのmecabはEUC版なので,入力ファイルもEUCに変換しておく.

  • autoconf automake について,あれこれいじる
  • 定時より少し遅れて帰宅,定時就寝

_ 2008年 2月 10日(日) 晴

  • 07:00 起床
  • 午後
    • configureを作成.
  • 定量よりのんで定時就寝

_ 2008年 2月 9日(土) 曇

  • 07:00 起床
    • 08:20 研究室着(整頓)
    • ベイズの準備
  • 午後.乾麺
    • 依頼されたデータベースとPHPの更新作業.どこかで入力ミスを行ったらしく,デバッグに時間がかかってしまった.
    • T氏来訪.妙なお話をうかがう.
    • ついでに整頓.
    • R と和布蕪のインターフェイスのパッケージかを始める.ところで,今回は他のライブラリに依存している.R CMD build を実行する際,和布蕪のライブラリを確認するようにしなければならない.とりあえず rJava_0.5-1.tar.gz を参考にしつつ,Writing R Extensionsを丁寧に読もう. ここでUbuntuにはautoconfが入っていないことに気がつく.configureを一から書くのは,さすがに勘弁.
  • 定時帰宅,定量のんで定時就寝

_ 2008年 2月 8日(金) 曇

  • 06:00 起床
    • 自転車のブレーキケーブルを調整
    • 07:20 研究室着(整頓)
  • 午前
    • 情報処理学会費を郵便局から納める.
  • 午後.来客と外食.
    • WHR-HP-G/U を設定.説明書にはモデムに接続し,それからWindowsにソフトをインストールし,そのソフトを起動して設定せよとある.モデムもWindowsもありません.これが家庭の平均的なアクセス環境ということらしい.マニュアルにはそれ以外書いていない.ので,ブラウザたちあげ,192.168.01 やら 192.168.12.1 やら試行する.URLが見つかったので,ブラウザからIPは*68に設定し,無線はWEP-PSK(AES)を設定.もう片方のIO-DATAのルータは2*8設定.設定は難しくないのだが,絡まったコードをやりくりしていて,思ったよりも時間がかかってしまった.
    • 基幹が変わったわけでもないのに,何だか早くなった気がする.
    • 採点作業
  • 定時帰宅,が,テキーラなどのみ,定時より1時間遅れて週就寝.

_ 2008年 2月 7日(木) 曇

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

_ 2008年 2月 6日(水) 曇

  • 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をコンパイルするために苦労して,その後 JavaからRを呼ぶにはJRI_0.2-4.tar.gzも使えるようだとおもって,こちらをコンパイルしようとしてるのだが.ちなみに同じことを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 オプション付きで再コンパイルすることにした.
  • 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をもう一度コンパイルとインストール.やれやれ.
  • さてここで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版が届いた.2版は読んだことがあるが,とにかく誤植が多くて閉口だった.第3版はRのコードが付記されているらしいのだが.
    • 去年の早い段階で生協に発注し,その後,たびたび継続してきたInference and Disputed Authorship も同じく届いた.中を見ると,前書きと目次だけで38ページもある.
    • Alebert の LearnBayes?パッケージには Dirichlet 分布の関数が実装されていた.
  • 定時帰宅,定時就寝

_ 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合ばかりのんで定時就寝.『算法少女』を一気に読んだ.
 
添付ファイル: filecalvados20080214.PNG 778件 [詳細] filertest.java 1367件 [詳細] filestrTest.cpp 888件 [詳細]
Last-modified: 2009-02-24 (火) 08:09:38 (3737d)