機略戦記

Maneuver warfare

2015-10-01から1ヶ月間の記事一覧

rubyでcall stack参照するメソッドがなんだっけ

結論 callerだった。 使用例: $ pry [1] pry(main)> caller => ["/Users/hoge/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `eval'", "/Users/hoge/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/pry-0.10…

パターンに一致するファイルの拡張子を全部変更したい

カレントディレクトリにある*.csvの拡張子を.txtに変える。 for fname in *.csv; do mv $fname ${fname%.csv}.txt; done

Rで、指定したdata.tableの全てのカラム名にprefixを付けたい。

R

結論 table <- data.table(a=1,b=2,c=3) prefix <- 'hoge' old_names <- names(table) new_names <- paste(prefix, old_names, sep='.') setnames(table, old_names, new_names) これで、 処理前にnames(table) #=> "a" "b" "c"だったカラム名が、 names(tab…

RのR6パッケージを使ってクラスを作るとき、クラスメソッドとかスタティックメソッドみたいな物を定義したい。

R

背景 R6パッケージで作ったこんなクラスに対して、クラスメソッドとかスタティックメソッドみたいな物を付けたい。 クラスメソッドとスタティックメソッドは違うものだけど、とにかくクラスをインスタンス化しなくても使えるメソッドを付けたい。 # ある証券…

RでrandomForest()を実行した時、 Are you sure you want to do regression?と警告される。

R

前提 logical型の目的変数をrandomForest() (randomForestパッケージの)で予測したい。 regressionでは無くclassificationがしたい訳だが、以下の警告がでる。 > nikkei225.rf <- randomForest(is_up~., data=train.rf, mtry = 184) 警告メッセージ: randomF…

Rで長時間かかる処理が終わった時に音声で知らせて欲しい。

R

結論 # 長時間かかる処理 system("say 'done.'") 説明 system()でシェルコマンドが実行できるので、sayなどで音をだす。

importance(randomForest)の結果をdata.table (もしくはdata.frame)で得たい

R

前提 RのrandomForestパッケージにあるimportance()関数を使うと、学習した各種特徴量が目的変数の説明にどのくらい寄与しているのか得られる。 この時、この結果は、特徴量をrownameとするMatrixとして得られる。これをV1を特徴量の名前、V2を寄与度とするd…

Rで畳み込みがやりたい(Haskellで言うfoldとかrubyで言うinjectみたいなやつ)

R

結論 Reduce()を使うっぽい。 Reduce(function(x, y){ x + y }, c(1,1,1,1,1) ) [1] 5 > Reduce(function(x, y){ x * y }, c(1,2,3,4,5) ) [1] 120