気軽にT-codeを覚える方法の提案
このエントリは漢直 Advent Calendarの2日目です。
タイトルの通り気軽にT-codeを覚える方法を提案してみます。
ステップ毎にまとめると
- Emacsにtc2をsetupすることから始めようとしない
- eelll/JSを使ってひらがな、カタカナを覚える
- 漢直Padと各OSのT-codeインプットメソッドを使ってちょこちょこ日常の日本語をT-codeで書いていく
となります。
Emacsにtc2をsetupすることから始めようとしない
tc2は最近のEmacsだと問題があったりするようですし(けどid:meechは手をいれて動くようにしてます。id:meechのgithubリポジトリ)、Emacsユーザではない方もいることでしょう。
何せ超絶困難と思われているT-code習得を気軽にすることが目的ですから、困難を増やすことは避けましょう。(tc2はすばらしいelispだと思います。3番目のステップ以降で使ってみてください。)
また、最初から打てない漢字のことを気にしたり、部首合成、混ぜ書き変換をやろうともしないでおきましょう。
eelll/JSを使ってひらがな、カタカナを覚える
いきなり調べながらT-codeを使おうとせず、やはりまずはeelllでひらがな、カタカナを覚えましょう。
といってもEmacsとtc2の環境は用意していないので、ゆせ よしひろ さんによるeelll/JSを使ってブラウザ内でeelllしましょう。(結構つながらなかったりすることもあるのでオフラインで使用できるようにしておいた方がいいかもしれません。)
膨大なeelllの問題をすべて覚えないといけないということはありません。
まずはひらがな、カタカナの問題を覚えましょう。
数字は覚えなくてもよいと思います。
この際「の」はkdなどと覚えるのではなく指の動きで覚えるように意識しましょう。
漢直Padと各OSのT-codeインプットメソッドを使ってちょこちょこ日常の日本語をT-codeで書いていく
次に日常の文章でよく使う文字を意識しながらT-codeを覚えながら書いていきましょう。
その際には、ステップ1でも述べたように
- 打てない漢字のことを気にしたり
- 部首合成、混ぜ書き変換をやろうとせず
とりあえず2ストロークで打てる事のみ書くことにしましょう。
をインストールすることで(2ストロークで書ける文字であれば)ほとんど設定することなく簡単にT-code(部首合成、混ぜ書き変換はできないものもあります、がとりあえずはいいのです)が日本語入力メソッドとして使えるようになります。
この際、漢直PadというiPhoneアプリが使えるとすごく便利です。
漢直Padは日本語を入力するとそれに対応する打鍵表を出してくれるソフトです。
tracのインストール
先週国内向けBioHackathonに参加しました。
bioinfoでtracを使っている、またはこれから使おうとしている人達は結構いるみたいです。
なのでさらっとtrac(0.12)のインストール方法を書いてみました。
最大多数の最大幸福ということでubuntuに入れました。
- trac-jaのdownload (wget http://www.i-act.co.jp/project/products/downloads/Trac-0.12.ja1.zip)
- sudo aptitude install python-setuptools
- unzip Trac-0.12.ja1.zip
- cd Trac-0.12.ja1
- sudo python ./setup.py install
Finished processing dependencies for Trac==0.12.ja1、となっていればうまくいっていると思います。
とりあえずインストールだけですけど以上。
2.11.0から追加されたぽいarrayIndについて
twitterで@kohskeさんから教えて頂いたことを紹介します。
例えば下記のようなdata frameがあったとします。
... | OBS1 | OBS2 | OBS3 | OBS4 |
---|---|---|---|---|
SAMPLE1 | 34 | 12 | 32 | 23 |
SAMPLE2 | 234 | 21 | 23 | 42 |
SAMPLE3 | 20 | 22 | 34 | 1 |
私はこのようなデータに対し要素の大きいものから順に行、列名を列挙したいと思っていました。
これを実現するには要素の大きいものから順にその行列indexを取れれば良さそうです。
しかし、これをorderで下記のようにやると1次元のindexしか得られません。
> obs1 <- c(34,234,20) > obs2 <- c(12,21,22) > obs3 <- c(32,23,34) > obs4 <- c(23,42,1) > df <- data.frame(OBS1=obs1,OBS2=obs2,OBS3=obs3,OBS4=obs4) > row.names(df) <- c("SAMPLE1","SAMPLE2","SAMPLE3") > df OBS1 OBS2 OBS3 OBS4 SAMPLE1 34 12 32 23 SAMPLE2 234 21 23 42 SAMPLE3 20 22 34 1 > order(df, decreasing=T) [1] 2 11 1 9 7 8 10 6 5 3 4 12
これをarrayIndでやると
> ai <- arrayInd(order(df, decreasing=TRUE), dim(df), dimnames(df)) > ai row col SAMPLE2 2 1 SAMPLE2 2 4 SAMPLE1 1 1 SAMPLE3 3 3 SAMPLE1 1 3 SAMPLE2 2 3 SAMPLE1 1 4 SAMPLE3 3 2 SAMPLE2 2 2 SAMPLE3 3 1 SAMPLE1 1 2 SAMPLE3 3 4
のように2次元のindexが得られ、dimnamesオプションをつければ行名も得られます。
列名も加えて書き出したいのでdata frameを作ると
> order.index <- data.frame(SAMPLE=dimnames(ai)[[1]], OBS=names(df)[ai[,2]], ai, row.names=NULL) > order.index SAMPLE OBS row col 1 SAMPLE2 OBS1 2 1 2 SAMPLE2 OBS4 2 4 3 SAMPLE1 OBS1 1 1 4 SAMPLE3 OBS3 3 3 5 SAMPLE1 OBS3 1 3 6 SAMPLE2 OBS3 2 3 7 SAMPLE1 OBS4 1 4 8 SAMPLE3 OBS2 3 2 9 SAMPLE2 OBS2 2 2 10 SAMPLE3 OBS1 3 1 11 SAMPLE1 OBS2 1 2 12 SAMPLE3 OBS4 3 4
という感じになるかと思います。
以上。
Gentoo勉強会の復習
Gentoo勉強会を一月ほど前にやっていました。
遅まきながらまとめます。
最初は@mkamotsuさんと@naota344さんに話してもらい
その後はかなりありそげな環境(Windows7+Virtualbox)にx86のGentooを教えてもらいながら入れるつうのをやってました。
そのインスコの模様をまとめます。
VirtualBoxの仮想マシン作成
新規アイコンをクリックします
vm名を入力、Linux、Gentooを選択します
vmのメモリサイズを入力します。このマシンの場合8Gメモリがあるので2G割り当てています。
4Gある場合なら1G位、4Gなければメモリを増設するといいかもしれません。
vmのHDDを作成します。そのまま次へ行ってください
するとwizardが始まりますが、全部そのまま次へをクリックしてください。これでvmができました。
次にGentooミラーサイトからGentooのインストールCDのイメージをダウンロードします。
ここでは以下のurlからx86のイメージをダウンロードします。
http://ftp.jaist.ac.jp/pub/Linux/Gentoo/releases/x86/current-iso/
次にvmの設定をします。作成したvmを選択した状態で設定アイコンをクリックしてください。
次にCD/DVDデバイスに先ほどダウンロードしたGentooのx86isoイメージを設定します。
私のWindows7環境では(Macではいけました)この設定をするとなぜか起動できなくなったのでプロセッサの設定は1個にしましたが、
もしみなさんの環境で問題ないようであれば以下のようにプロセッサの設定でCPU数を2に、IO APICを有効化してください。
これでvmの設定は終わりです。起動アイコンをクリックするとGentooのboot画面になります。
VirtualBoxの操作方法についてダイアログが出てきますが全部OKボタンを押してください。
この画面まで来たらGentooハンドブックに従ってインストール作業を行います。
以下ではハンドブックに書かれていない注意点を述べます。
Gentooのインストールについて
最初のネットワーク設定について
まずネットワークにつながっていないとどうしようもないのですがVirtualBoxのネットワーク設定がNAT割り当てになっているのでホストマシンがネットワークにつながっていればネットワークにつなげるかと思います。
以下のようにして仮想マシンのネットワークアダプタeth0をstartしてから、適当なところにpingを打って返ってくるか確認してください。
/etc/init.d/net.eth0 start
ファイルシステムについて
- bootパーティションは必要ありません
- bootフラグも必要ありません
- swapは2G位でよいかと
こんな感じ
これでwriteします。
次に以下のようにスワップonしてext3でmkfsします
ハンドブックと違ってbootパーティションをつくってないので
mount /dev/sda2 /mnt/gentoo
とするだけで結構です。
make.confについて
次にmake.confですがこんな感じにするとよいようです。
もし仮想マシンの設定でCPU数を2にして起動に成功しているようであればMAKEOPTS="-j3"に変えてください。
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" CHOST="i686-pc-linux-gnu" MAKEOPTS="-j2"
カーネル設定について
カーネルのインストールはマニュアルでやります。
とりあえずCPUのところだけ設定してもらえれば結構です。
ほとんどの方はCPUはCore2かと思います。
カーネル設定後のfstabはこんな感じです
残りその他諸々
ネットワーク設定は忘れずやっておいてください。
nano /etc/conf.d/net
とやってconfig_eth0=( "dhcp" )を追加してください。
ハンドブックのように
- /etc/conf.d/hostname
- /etc/hosts
を編集する必要はありません。
grub.confは以下のような感じです。
default 0 timeout 30 title Gentoo Linux 2.6.34-r6 root (hd0,1) kernel /boot/kernel-2.6.34-gentoo-r6 root=/dev/sda2
こんな感じでハンドブックでシステムの再起動、となっているところまで行ったらrebootではなくshutdown -h nowして仮想マシンのCD/DVDドライブを空にします。
その後仮想マシンを起動しこのようにIPがうまく取得できているようであればOKです。
次のエントリでGNOMEを使えるようにするところまで紹介します。
Windows7でのEmacs23のフォント設定
今のところ私は以下の設定にしています。
(set-face-attribute 'default nil :family "Consolas" :height 120) (set-fontset-font nil 'japanese-jisx0208 (font-spec :family "MS ゴシック")) (setq face-font-rescale-alist '((".*Consolas.*" . 1.0) (".*MS ゴシック.*" . 1.1) ))
もしアドバイス頂けるようであればコメント頂ければ幸いです
Rのreorderについて
いままでRのreorderをわかっていなかったアンドあまり記事がないようなので(みんな知ってるからかも...)これについて書いてみます。
この関数はfactorの並び(boxplotの時に横軸にすることがまず思い浮かびます)を変えたい時に使うもののようなのですが、なぜか手持ちのR書籍ではこのreorderという関数について書かれているものが無いようでした(もちろんhelpにはあります)。
helpのexamplesの通りなんですが書いてみます。
> library(graphics) > head(InsectSprays) count spray 1 10 A 2 7 A 3 20 A 4 14 A 5 14 A 6 12 A
まずこのInsectSpraysというデータについてですが、これは殺虫スプレーAからFをプシーっとやって死んだ虫の数をまとめたものぽいです。
普通にこのデータでboxplotを書けと言われるとこんな感じで各spray毎に殺虫数countのboxを作ると思います。
boxplot(count ~ spray, data=InsectSprays)
reorderのhelpのexamplesではこれをmedian順に各spray(factor)を並べ替えています。
bymedian <- with(InsectSprays, reorder(spray, count, median))
こうするとlevelsの並びがmedianの昇順になった、またアトリビュート$scoresに各spray毎のmedianの値を持った、bymedianというfactorができます。
> class(bymedian) [1] "factor" > attributes(bymedian) $levels [1] "C" "E" "D" "A" "F" "B" $class [1] "factor" $scores A B C D E F 14.0 16.5 1.5 5.0 3.0 15.0
でbymedianを使ってboxplotを書くと
boxplot(count ~ bymedian, data = InsectSprays)
以上、無知を晒すエントリでしたとさ、と。
ESSを読む その0 ソース取得とタグ作成
ESSを読む会というのを企画したので、これに向けてちょこちょこ書いてみます。
とりあえずソースの取得とタグを作ってどんなのがあるか見てみます。
ソースの取得
cd mkdir projects cd projects svn checkout https://svn.r-project.org/ESS/trunk ESS
タグの作成
これでlispディレクトリにTAGSというファイルができたかと思います。
そっからM-. ess- TABと打つと下記のような補完候補がずらっと出るかと思います。
試しにess-smart-underscoreに飛んでみましょう。
ess-smartまで打ってTABを打てば補完されると思います。
そしてRETすると下記のようなとこに飛ぶかと思います。
次はこれを読んでみようと思います。