Topics

最終更新:2017年 4月 26日 (水曜日)

R-3.4.0リリース(2017年4月21日)

『Rによる統計解析の基礎』のpdfを見ていたらsurvivalパッケージの仕様変更について取り込んでいないことに気づいた。これだと書かれている通りに実行してもsurvfit()の結果が出ないことになってしまうので修正せねば。が,直し始めてみると想像以上に大変。

今日はR-3.4.0のリリース日だが,まだCRANには載っていないようだ。New features(新しく追加された機能だけではなく,重要な変更点も記載されている)によると,table()やsummary.default()やfactor()やxtabs()など基本的な関数の仕様が若干変わっていたりするので(ほぼ例外処理だし,より首尾一貫したものになったと書かれているので,まあ問題はないと思うが),ちゃんとチェックしてみるまでは,常用マシンのRはバージョンアップしない方が無難だろう。リリースされたらとりあえず研究室のデスクトップ機かGPD WINに入れてみるかな。

夜になって再びCRANをチェックしたら,R-3.4.0.tar.gzは既に公開されていたが,Windows版インストーラはまだのようだった。

しかし,翌日になったら統数研ミラーにもWindows版インストーラが入っていた。インストールはHDD換装後にしたいのだが,先にデスクトップ機にインストールした。とくに問題なく動作している模様。

簡単なSIRモデル(2017年4月9日~10日)

SIR model fitting for English boys boarding school flu epidemic in 1978

Rで感染症数理モデルの教育をするのに,EpiModelパッケージと,SIR models in Rは使えるかも,と一瞬思ったが,ここまで説明すると1時間では足りないので,1978年の英国の全寮制男子校でのインフルエンザ流行のSIRモデルの簡単なRコードを書いた。このコードでのパラメータは,βは2日目に1人から2人増えて3人になったというデータ,γは普通は2日で回復したというデータからの推定,δは短期間なので無視できるとして決めているが,optim()でfittingもしてみるか?

やってみたらoptim()を付け加えて最適パラメータを計算するのは簡単だったので,当該Rコードを置き換えた。図は右の通り。

感染症モデルとしては,もちろん最初の2日間だけのデータからエピデミックカーブをだいたい予測できたという方が価値が大きいので,全部のデータを使った後付けのフィッティングと多少パラメータがずれていることには問題はない。ただ,この当てはまりの良さはかなり2日目に2人増えたことに依存していて,たぶん確率的には大差ない(感染しても報告が遅れることもありそうだし)1人増える場合や3人増える場合から予測すると大きく外れてしまうのがモデルの弱点(それも含めて実行するコードはこれで,実行結果のグラフはこれ)。もちろん初期データからβの信頼区間は計算できるので,信頼区間の上限と下限を使って予測するという手はあるけれども。

『パーフェクトR』(2017年3月23日)

twitterで見掛けてAmazonに発注していた,Rサポーターズ『パーフェクトR』技術評論社,ISBN 978-4-7741-8812-6(Amazon | bk1 | e-hon)が届いていたので持ち帰ることにした。

『パーフェクトR』を書いたRサポーターズはTokyo.Rの人たちなので,統計界隈とは違ったアプローチでまとめられている。エラー制御系の関数が多数紹介されていたり,plotrixパッケージを紹介するコラムで,多種多様な作図関数ではなくてアスペクト比を変えても常に真円を描く関数draw.circle()など素材としての描画関数にだけ触れられていたりするのは,本書のその特性が顕著に表れたところだと思う。「モダンなデータ可視化」としてggplot2パッケージによる作図を説明するパートでも調整用関数として背景の変更でtheme_classic(),タイトルとラベルの設定,凡例の位置の変更,軸の変換,目盛の変更といった,投稿論文に使えるようにグラフを仕上げるのに使えそうな関数群の説明が詳しく与えられ,さらにインタラクティブなデータ可視化という章でhtmlwidgets,googleVis,ggvisという3つのパッケージを使ったJavaScriptでの作図に1章使われているのも,Tokyo.Rらしい感じ。新しくスマートな部分が広範に拾われているので,そういう視点でRにできることを知りたい方にはお薦めできそう。

世界の年齢別出生率とfmsb-0.6.0(2017年3月20日)

World ASFR for 2010-2015 estimated by UN as wpp2015

fmsbパッケージの更新作業中,取り込み忘れがないか更新情報の保管庫5をチェックしていたら,以前書いたコードが目にとまり,今ではwpp2015パッケージができたからExcelファイルを読むなんて面倒なことをしなくても良くなったはずなので,書き直してみようと思い立ってしまった。作ってみたら簡単にできたのでアップロードしておく

fmsb-0.6.0の更新の目玉は,2015年の様々な日本の人口統計確定値を入れたことと,oddsratio()関数とriskratio()関数で,p.calc.by.independence=FALSEというオプションを付けるとvcdパッケージのoddsratio()関数と同じく,信頼区間関数でp値を計算するようにしたこと。さらに,hlifetable()関数とspearman.ci.sas()関数も追加した。昔と違ってftpでアップロードでなく,CRAN repository policyのSubmissionのところに書かれている通り,web interfaceを使ってアップロードしなくてはいけないのだが,そのURLを忘れていて探すのに時間が掛かった。あとでリンク集に追加しておこう。

帰宅後に気づいたが,fmsb-0.6.0のJfertに追加したデータのうち,ASMFR2015とすべきところをASFR2015としてしまっていた。ASFR2015という変数が2つ定義されてしまってまずいわけだが,勝手にASFR2015.1に変わって読み込まれており,エラーにはならないので気づかなかった。すぐ直すべきなのだが,もうon cran nowという返事が来てしまったので,1週間後くらいに0.6.1としてfixしたい。しかし変数名1文字だけのbug fixを新バージョンとするのも心苦しいので,何かもう少し更新したい。例えば1990年代に自分が調査してとったデータを加工して公開するとか(難しいのだが)。

R-3.4.0予告(2017年3月17日)

Rの開発者メーリングリストに,Peter Dalgaardから,R-3.4.0(コード名はYou Stupid Darkness)が4月21日リリース予定とアナウンスされた。詳しいスケジュールはdeveloper.r-project.org参照と書かれていたが,見に行ったら見つからなかった。Dalgaardのメールへの返事で「日付が去年になってるよ」とツッコミが入っていたので修正中なのかもしれない。このツッコミへの「たぶん闇がとても深いので日付を今年に更新するのを忘れたんじゃない?」というフォローには笑った。コード名に絡めた素晴らしいフォローだ。

なお,このコード名も出典はPeanutsで,「闇を呪ってるよりロウソク1本で照らす方が良いって聞いたんでね」と言われたチャーリー・ブラウンが,「確かに。でも同意しない人もいるけどね……」と独白した次のコマがこの言葉で闇を呪っているルーシー,というオチでわかりやすい。

R-3.3.3リリース(2017年3月6日)

R-3.3.3がリリースされた。コードネームAnother Canoeは,例によってPeanutsからか? と思って調べたら,やっぱりそうだったようだ。キャンプ場から手作りのカヌーの模型を送ってくれたライナスに対してルーシーが,「最初に貰ったのはチャーリー・ブラウンに投げたら壊れちゃったから,カヌーをもう1つ送って」と手紙を書くシーンが出てくる。

useR! 2017情報(2017年2月10日)

useR! 2017は7月4日~7日にブリュッセルで開催(凄いトップレベルドメイン名だ。他にもトップレベルドメイン名を持っている都市ってあるのだろうか?)。行きたいがたぶん無理だなあ(水曜の国際協力研究科教授会と国際保健学領域会議と院生中間発表会……があるため,この週はエビデンスベーストヘルスケア特講はないが……と木曜の4コマ講義を休まねば行けない)。一度くらいはヨーロッパにも行きたいのだが。ここからできるabstract submissionのデッドラインが4月1日,採否通知が5月1日とのこと。



リンクと引用について

Correspondence to: minato-nakazawa[at]umin.net.