Topics

最終更新:2018年 4月 2日 (月曜日)

R-3.4.4リリースとR-3.5.0予告(2018年4月2日)

予告通り,2018年3月15日に,R-3.4.4がリリースされた。コード名は"Someone to lean on"だが,Peanutsのマンガには出典が見つからないらしい。"Happiness is someone to lean on"という文章とともにCharlie BrownとSnoopyがもたれ合っている女性用Tシャツしか見つからなかった。これが3.4.*最終リリースとのこと。

2018年3月20日に,R-3.5.0は4月23日リリース予定というメールが流れた。コード名は"Joy in Playing"とのこと。NEWSによると,factor()やorder()の変更は要注意だな。あと,デフォルトですべてのパッケージがインストール時にバイトコンパイルされるようになるらしい。

『Rで楽しむベイズ統計入門』(2018年1月12日)

奥村晴彦,牧山幸史,瓜生真也(著)石田基広(監修)『Rで楽しむベイズ統計入門:しくみから理解するベイズ推定の基礎』技術評論社,ISBN 978-4-7741-9503-2(Amazon | honto | e-hon)をご恵贈いただいた(ありがとうございます)。ざっと目を通した感じでは,導入がスクリーニングの話(『ハードナッツ!』や『お任せ!数学屋さん3』など多くの数学小説に出てくる,稀な疾患の場合は,スクリーニング陽性でも本当に病気である可能性が直感的には信じられないほど低いという例のネタを,専門用語を使って丁寧に解説してくれている)で,選挙の予測,事前分布の再検討,とすごく丁寧に説明が進んでいくのでフォローしやすいと思った。

『欠測データ処理』(2017年12月21日)

Amazonから,高橋将宣,渡辺美智子『欠測データ処理:Rによる単一代入法と多重代入法』共立出版,ISBN 978-4-320-11256-8(Amazon | honto | e-hon)が届いていた。調査データではゼロにすることがきわめて難しい欠損値の処理だが,それに特化した本は少ないので貴重。しかもRでmiceだけではなく,新しいパッケージもたくさん具体的にコードも含めて紹介してくれているのは嬉しい。さらに2,200円という比較的安価な値段付けも嬉しい。これはじっくり読まねばなるまい。

R-3.4.3リリース(2017年11月30日)

予告通り,R-3.4.3がリリースされた。

Beau Johnstonという方から,fmsbパッケージのradarchart()の改良案をいただいた。良い機能拡張と思うので取り込みたいが,すぐには時間が無くてできない。都道府県別生命表が公開されたら,データ追加も含めて一気にやってしまいたいが。

RからIPUMSを利用しやすくするパッケージipumsr(2017年11月21日)

IPUMSからメールが届いていて,RからIPUMSのデータを利用しやすくするため+αのパッケージipumsrが開発されたことを知った。dplyrとかtidyrをインポートしているので先進データサイエンティスト系の開発者であろうと思われる。まだバージョン0.1.0なので,開発途上と思うが,これでIPUMSを使うためのハードルが下がると良いなあ。

『Rではじめるデータサイエンス』(2017年11月17日)

さっき,オライリー・ジャパンから,ハドリー・ウィッカム,ギャレット・グロールマンド(著),黒川利明(訳),大橋真也(技術監修)『Rではじめるデータサイエンス』,オライリー・ジャパン/オーム社,ISBN 978-4-87311-814-7(Amazon | bk1 | e-hon)が届いた(ご恵贈くださりありがとうございます)。言わずと知れたHadley Wickham and Garrett Grolemund "R for Data Science: Import, Tidy, Transform, Visualize, and Model Data", O'Reillyの訳書である。表紙のカカポに目を奪われるし,図版がカラー印刷で美しいが,Rの本というよりはtidyverseの本。ぼくのようにbaseの知識しかない古典的Rユーザにとっては,とてもRのコードに見えない。けれども丁寧に説明されているように見えるので,今後dplyrとかggplot2とかtibbleとか使いたくなったら,これで勉強しようと思う。ありがとうございました。

R-3.4.3予告(2017年11月9日)

R Developer Pageに書かれているが,11月30日にR-3.4.3がリリース予定というメールが届いた。コード名は"Kite-Eating-Tree"とのことで,出典はやはりPeanutsだが,ストーリーの名前ではなくチャーリーブラウンが凧揚げをしていて何度も凧を引っかけてしまって「凧食いの木」と名付けた巨木のキャラクター名なようだ。

文字列処理パッケージstringrの早見表(2017年11月4日)

RStudioの開発チームが作った,stringrパッケージでの文字列処理の早見表(cheat sheetってのはカンニングペーパーも意味するが,別に試験されているわけではないので,早見表の方が良い訳だろう)を紹介するR bloggersの記事

G-ComputationとCohen's dのパッケージ(2017年10月19日,29日)

G-computationというDAGの解析手法は,当初はSASとStataでしかできなかったようだが,現在ではRのパッケージでもtmlenetとかltmleとかでできるらしい。あと,以前ちらっと調べたときは見つからなかったが,effect sizeのパッケージでも,Cohenのdを出すにはeffsizeパッケージのcohen.d()が便利そう。

効果量を計算するRパッケージについての参考情報を追加しておく。ここここ三重大学の奥村先生も効果量について書かれている

R Studio 1.1正式リリース(2017年10月10日,30日)

R Studioの1.1が正式リリースされた。これまでもとくに不満はないが,とりあえず更新しておくか。kazutanさんのブログで新機能が紹介されていて参考になる。

Microsoft R Openの最新版は3.4.1で,Rの最新版である3.4.2に追いつくのは今月中が予定されているが,まだ何日になるかはわからない。

10月30日,Microsoft R Openの最新版が3.4.2になっていた。ダウンロードはしたが,インストールはまだ。[Rd]でMicrosoft R Openで使われている並列処理とか高速行列計算のライブラリをR本体にmergeしたらどうかという提案があって,ライセンスとか独立性の維持とかいろいろな面で議論が続いているが,難しい問題。たぶん,この話が紛糾する根底には,Microsoftを信じ切れないところがあるのだと思う。個人的にはR Foundationにもっと寄付をしても良いので,Core Teamの大企業からの独立性は維持して欲しい。

R-3.4.2リリースとDuncan Murdock引退(2017年9月28日,29日,10月6日,24日,26日)

R-3.4.2がリリースされた。メンテナンスリリースなので,大きな変化はない。ただ,Dr. Duncan Murdockがこれまで15年間やってきたWindowsバイナリビルドを,R-3.4.2で最後に引退するということなので,Windowsユーザは次からはMicrosoft R Openを使うか自力でビルドせねばならない……かもしれない。誰か別の人が引き継ぐかもしれないが。

Duncan Murdockの引退を受けて,"Duncan's retirement: who's taking over Rtools?"という[Rd]のスレッドが議論沸騰している。Microsoft R Openが受け皿という状況はRの言語としての独立性を保つためには良くないので,誰かがDuncanがやっていたことを引き継ぐべきという声が多い。大変な仕事だからなあ。

R-3.4.2リリース直後のDuncan Murdockリタイア宣言からの議論は,ご本人が提案された通り,Microsoft R Openが引き継ぐというのが有力な感じ。Microsoftからは独立である方が良いという意見も多いが。ただ,Microsoft R Openはx64なので,もしそうなったら,32bit Windowsで動作するRは3.4.2が最終版になるということだな。32bit版のWindowsを使っている人には悲報だが仕方ないか。後は,Microsoft R Openはオリジナルコードからいろいろ高速化されたRevolutionsを引き継いでいるためか,R本体のソースコードリリースから1ヶ月くらい遅れてのリリースになるのが普通なので,MacやLinuxとタイムラグができてしまうのも若干懸念材料。

R-3.4.2リリースのときにDuncan Murdockが引退宣言をして,今後のWindows版バイナリビルドはどうなる? と大騒ぎになっていた話だが,R Foundationから後継者が決まったという告知があって一安心。後継者となったJeroen Oomsという方は,Twitterアカウントによると,UCバークレーのポスドクと書かれている。これで当面RのWindows版バイナリも安泰だろう。

R-3.4.2のコードネームは"Short Summer"というのだが,テキサス大学サンアントニオ校人口学教室のFacebookページR-bloggersの記事が紹介されていた(大学の公式サイトよりFacebookの方が充実している。かなり情報量があるので,人口学会のサイトからリンクしたいくらいだ)。なお,この"Short Summer"はいつもの4コマではなく,テレビシリーズで放映された"It was a short summer"という話のようだ。夏休みのキャンプで男子チームが女子チームに負け続け,スヌーピーが男子代表としてルーシーと再戦したが反則負けになったという夏が終わり,「短い夏だったな」というライナスに対して,「そうだね。長い冬になりそうだ」と答えるチャーリー・ブラウンというシーンで終わるらしい。もしこれだとすると,Rにとって,このコードネームの含意は何なのだろうか?

傾向スコアの利用(2017年8月14日)

傾向スコアを使ったRでの分析について丁寧に説明されたページを見つけたのでリンクしておく。あと,lmSupportパッケージのmodelEffectSizes()で求めることができる偏イータ2乗についてメールで問い合わせがあったので調べたところ,英語で書かれた本の1つのChapterがわかりやすかった。日本語だと水本篤,竹内理「研究論文における効果量の報告のために―基礎的概念と注意点―」英語教育研究, 31: 57-66, 2008.がわかりやすかった。偏イータ2乗は偏相関比と訳している例がいくつかあるが,その元は[fpr]メーリングリストでの南風原先生のご発言らしい。anovakunというRの関数を開発されている井関さんのこの説明もわかりやすかった。

偏相関係数の二乗(2017年8月12-13日)

重回帰分析の結果として偏相関係数の二乗も表示したいけれどもEZRが出してくれないので,どうしたら偏相関係数の二乗が得られるかという質問を受けたので調べてみた。

lmSupportというパッケージのmodelEffectSizes()を使ったら良いと書かれているページもあったが,違うもの(偏イータ2乗。分散分析の効果量の指標として良く使われる)を計算しているようだった。結局,lm()の結果がresに付値してあるとして,anova(res)[["Sum Sq"]]/sum(anova(res)[["Sum Sq"]])で得られることがわかった(Residuals以外の値を合計すると,ちゃんと自由度調整していない重相関係数の二乗になるので,辻褄は合っている)。表示される数字がどの説明変数の値なのかは,anova(res)の表示順から見るしかないようだが。重回帰分析の結果は,偏回帰係数,標準誤差,95%信頼区間に加えて,標準化偏回帰係数を表示するよりも,こっちを表示した方が良いかもしれない。

r-de-rさんからコメントいただいて気づいたが,anova()の返り値はdata.frameだったので,リストとして[[]]で取り出してしまわず,[]でdata.frameのまま取り出せば変数名も残るのだった。ご指摘ありがとうございました>r-de-rさん。

ついでにもう1点メモしておくと,stripchart()で重なる点が多いときはoffset=1/5くらいにすると良い。

FiveThirtyEight(2017年8月9日)

なぜこの名前なのか知らないが,FiveThirtyEightというニュースサイトがある。このサイトの各ストーリーの背後にあるデータとコードをまとめたRのパッケージfivethirtyeightがgithubで開発されている。いろいろなデータがあるので統計手法を試すのに良さそうだ。どこで使われているのか知らないが,このfivethirtyeightの依存パッケージにfmsbが含まれているのが嬉しい。

Rによる人口分析の勉強会スタート(2017年8月9日)

社人研の石井太さんがRによる人口分析の勉強会を始められるとのこと。素晴らしい。第1回は9月16日(土)で,参加に資格は要らないが要登録とのこと。

空間データ解析(2017年7月26日)

谷村先生の講義中にtweetしたが,今日の谷村先生のお話については,R言語 CRAN Task View:空間データの分析が参考になる。また,地理加重回帰についての説明で出てきた,犯罪発生と所得と家屋評価額の例はこのスライドがわかりやすい。ただし,リンク先のスライドは2011年の資料なので,いろいろ変わっているところはある。現在のspdepパッケージに入っているcolumbusは,変数名がすべて大文字であり,mgcvパッケージに入っているcolumbは家屋評価額の変数名がhousingでなくhome.valueである。他にもいろいろ変わっているところがある。このように空間統計は変化が激しいので,谷村先生も,なかなか『地理空間データ分析 (Rで学ぶデータサイエンス 7) 』(共立出版)の第2版が出せないのだという話だった。けれども,その変化を各ユーザが個別にフォローするのも大変なわけだから,日本語で更新情報が集積されたものとして,是非第2版に漕ぎつけていただきたい。もっとも,これも谷村先生がメンテナをされているNipponパッケージを国民の祝日追加に対応させるだけでも大変だと思うし,三重大学の業務も忙しいと思うので,すぐには難しいだろうが……。

R-3.4.1リリース(2017年6月30日)

予定通り,R-3.4.1がリリースされた。コードネームは「ロウソク1本」(Single Candle)。3.4.0のコードネームが闇を呪っているルーシーの台詞"You Stupid Darkness"だったので,そのパッチリリースである3.4.1のコードネームが,そのルーシーの行動を見る前にチャーリー・ブラウンが聞いた「闇を呪っているよりもロウソク1本でも灯りを点けた方がいい」の「ロウソク1本」であるのが味わい深い。

Useful packages(2017年6月11日)

古い記事だがLisa Winterさんがtweetしていたので知ったList of useful packages (libraries) for Data Analysis in Rは見やすい。

joinpoint回帰(2017年6月10日)

RのJPSurvというパッケージを知ったのは収穫だった。joinpoint回帰という方法で,ホッケースティックを拡張したような感じだが,局所最適に陥らないような工夫がされているというのは面白いと思った。ただ,変数として~Alive_at_Start + Died + Lost_to_Followup + Expected_Survival_Interval + Interval + Yearを与えなくてはいけないので,適用できるデータが生存時間に限られている。集団ベースのがんの生存解析用に作られたパッケージらしい。用例はexample(joinpoint)で。

<ご恵贈御礼>『Rによる自動データ収集:Webスクレイピングとテキストマイニングの実践ガイド』(2017年6月5日)

石田基広先生から(だと思う),Munzert S, Rubba C, Meiβner P, Nyhuis D(著)石田基広・工藤和奏・熊谷雄介・高柳慎一・牧山幸史(訳)『Rによる自動データ収集:Webスクレイピングとテキストマイニングの実践ガイド』共立出版,ISBN 978-4-320-12416-5(Amazon | bk1 | e-hon)をご恵贈いただいた(いつもありがとうございます)。ビッグデータ解析の入口として必須なデータ収集についてのバイブルになりそうな感じ。

Microsoft R Open 3.4.0リリース(2017年5月25日)

64ビットでいろいろ高速化されたRであるRevolutionsをMicrosoftが買収して開発を継続しているMicrosoft R Openの3.4.0がリリースされた。リリースノートに書かれているように,Windows版の場合,3.3.3よりインストーラのサイズが小さくなり,複数バージョンの共存ができるようになったのがポイントのようだが,R本体の方が3.4.0では大幅な高速化などわりと大きな変更があり,Microsoft R Openも,基本的には最新版の本体ソースコードに対して拡張を適用する形のようだから,バージョンアップする意味は小さくないと思う。

fmsb-0.6.1(2017年5月16日)

JfertのASMFR2015がASFR2015.1となっていたのをfixし,WhipplesIndex(),CaretakerRatio(),IndexOfDissimilarity()を追加し,0.6.1とした。cranにアップロードしたら丸一日も経たずに承認された。

EZR起動について~.Rprofile活用法(2017年4月30日)

EZRを自治医大のサイトからダウンロードしてインストールする方法だとR本体のバージョンが古くなってしまうため,できれば学生にもR本体の最新版をインストールしてから追加パッケージとしてinstall.packages("Rcmdr", dep=TRUE)とinstall.packages("RcmdrPlugin.EZR", dep=TRUE)をしておき,実際に使うときはRを起動>library(Rcmdr)>ツールメニューからプラグインとしてEZRを呼び出して再起動,という手順を踏むことをお薦めしたいと思ってきた。

EZRを呼び出すところまでやってからツール>オプションでフォントサイズの設定などをしてから,ツール>オプションの保存で.Rprofileを作業フォルダ(Rの起動アイコンのプロパティで設定)に保存しておけば,Rを起動後にlibrary(Rcmdr)をするだけで,フォントサイズなども設定済の状態でEZRが起動するようになる。

EZRしか使わない人なら,保存した.Rprofileをエディタで開いて下の方の#を4つ消すだけで,Rを起動すると勝手にEZRが起動するようになって便利だ。

ということは,この.RprofileをC:\EZRDATA(別の作業フォルダでも良い)に入れておき,普通のRの起動アイコン(ショートカット)をコピーして名前をEZR on R-3.4.0とでもしておき,プロパティで作業フォルダをC:\EZRDATA(さっきコピーした.Rprofileが存在するフォルダ)にすれば,R本体は1つしかインストールしなくても,普通に素のRを呼び出すアイコンとEZRを呼び出すアイコンを使い分けられるということだ。

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.