昨日のDBCLS

Rでの立ち回り紹介

動画作成中

??hogehoge
?hoge
hoge #関数のソースを表示
example(hoge)

を紹介する部分を作成。
次はhttp://www.okada.jp.org/RWiki/seekR - 統計分析ソフトウェア R のための検索エンジン(Rで)マイクロアレイデータ解析を紹介する部分を作成する予定。

RStudio

Open source and enterprise-ready professional software for data science - RStudioの方がRの元から付いてるGUI環境より使いやすいので、もう一つRの動画を作るならこれの紹介+αにしたい。

Clojureのベクタのメモリ使用量

(vector-of :int)を使えば普通の配列を使った場合の1.35倍、普通のベクタとIntegerを使った場合は7.32倍くらいになる。まぁ全然OKですね。

(defn current-total-memory-usage []
  (System/gc)                                                                                                          
  (- (.. Runtime getRuntime totalMemory)                                                                                                                  
     (.. Runtime getRuntime freeMemory)))

(defmacro memory-usage [& exprs]
  `(let [pre# (current-total-memory-usage)]                                                                                                       
     ~@exprs                                                                                                                                   
     (- (current-total-memory-usage) pre#)))

user> (memory-usage (def v (int-array 1000000)))
4000040                                                                                                                                                         
user> (def v nil)
#'user/v                                                                                                                                                        
user> (memory-usage (def v (into [] (range 1000000))))
29274744                                                                                                                                                        
user> (def v nil)
#'user/v                                                                                                                                                        
user> (memory-usage (def v (into (vector-of :int) (range 1000000))))
5419552  

今日のDBCLS

Gene Pattern インストール

Gene Patternの簡易インストーラではWindows7な64bit環境だと動かないようだ。
Tomcat5が使用されていて、これがどうやら64bit環境で動かない。*1別バージョンのTomcatを単に入れ替えても動かなかった。
http://www.broadinstitute.org/cancer/software/genepattern/doc/relnotes/3.2.2/のKnown Issueにある「管理者権限で実行」も試したが無駄だった。

Rでクラスタリング

ただ単に使い方を書くだけではテキストサイトと比較して利点がないので、Rそのものの使い方も解説しつつ動画を作りたい。

install.package("pvclust")

Clojureのシンボル比較

シンボル比較は何よりも速いと期待していると裏切られる。Clojureではシンボルにメタデータをつけられるので等値なシンボルが等価でない。ただキーワードならちゃんと等価になる。

user> (time (dotimes [_ 1000000] (= 'a 'a)))
"Elapsed time: 53.835 msecs"                                                                                                                                    
nil                                                                                                                                                             
user> (time (dotimes [_ 1000000] (= :a :a)))
"Elapsed time: 5.093 msecs"                                                                                                                                     
nil                                                                                                                                                             
user> (identical? 'a 'a)
false                                                                                                                                                         
user> (identical? :a :a)
true 

Lisp関連書籍

上のリスト中でWebで読めないLispの本は学科の控え室に置いた。

*1:はてブで指摘されて入れ忘れてるのに気付きました。どうもありがとうございます。