メモ:WSLでEmacs+ESSを使う準備

Emacs歴実質3日目くらいです。↓を読みながら勉強中。変なとこあればやさしく突っ込んでもらえれば...

[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

続きを読む

メモ:S3のメソッドディスパッチ用に.__S3MethodsTable__.という環境があるっぽい

r-wakalangで、

よくわからないんですけど、S3のメソッドディスパッチの対象になるのは、

  • S3method() で明示的にメソッドとして登録されたもの
  • サーチパス上にある 関数名.クラス() というフォーマットの名前の関数

で、前者は上書きできない、あるいは先に登録されたものが優先される、とか?

と書いたものの、ほんとかな?と思って調べたのでメモ。

続きを読む

メモ:lubridateパッケージで区間を指定したいときはperiod、ざっくり時刻計算したいときはduration

任意の時刻型について、floor_date()で区切った区間のちょうど真ん中を返す関数を作りたい。こんな感じの。

library(lubridate)

mannaka <- function(x, binwidth_hour) {
  floor_date(x, hours(binwidth_hour)) + hours(binwidth_hour)/2
}
続きを読む

stringr::str_replace()には置換文字列だけではなく関数も指定できる

stringrパッケージのstr_replace()/str_replace_all()は、バージョン1.2.0からreplacement引数に関数を取ることができます。

これを使うと、「指定した正規表現にマッチした部分だけ大文字にする」みたいなことが簡単にできます。

続きを読む