Kengo Nagashima



Updating packages for changes in R (R Developer Page)

R Developer Page には、リリース前のバージョンを含む R の最新情報が掲載されています。 次期リリース (2011/10/31) 予定のバージョンでの仕様変更に伴って、パッケージ開発者がアップデートする必要がある情報が Updating packages for 2.14.0 に記載されていますので、これをまとめてみます (ミスがあるかもしれませんので原文も合わせてご確認ください)。

はじめに

R 2.14.0 は 2011/10/31 にリリース予定です。 パッケージ管理者は以下の変更点に留意してください。

遅延ロードについて

全てのパッケージは遅延ロードされるようになります。 DESCRIPTION ファイルに LazyLoad フィールドを設定している場合は削除してください。 LazyLoad: false を指定した場合、インストール時に警告が出ます。

これによって影響を受けるパッケージは非常に少ないでしょう。 影響を受ける場合の多くは、トップレベルコードとその副作用を利用したパッケージだと思われます。 この問題については 'Writing R Extensions' でもずっと警告を行っていました。

名前空間について

全てのパッケージに名前空間が設定されます。 NAMESPACE ファイルが無い場合、R CMD INSTAL の実行時に NAMESPACE ファイルが自動生成されます (R CMD build でも同様に自動生成を行います)。

自動生成される NAMESPACE ファイルを用いても、ほとんどの場合 (CRAN 登録されたうち 1000 以上のパッケージで) はうまく動作するでしょう。 ただし、自動生成に頼るのではなく、この NAMESPACE ファイルを元にして、確認の上 NAMESPACE ファイルをアップデートするべきでしょう。

また、現在以下の問題点がある事が分かっています。

Vignette ソースファイルの配置

Vignette ソースファイルはディレクトリ 'inst/doc' ではなく 'vignettes' に配置するようにしてください。 移行期間として R <= 2.13.x との互換性を保ったメンテナンスを継続したい場合、まずは .Rinstignore ファイルを用いて、Vignette の .Rnw (etc) ファイルや .pdf ファイル以外の他のファイルがインストールされないようにしてください。 次に、ユーザーが Vignette コードを実行するために必要な他のファイルを追加してください。

もし Vignette ファイルが CRAN でコンパイルできないことが事前に分かっている場合 (例えば、特殊な LaTeX ファイルを利用している場合など) は、DESCRIPTION ファイルの BuildVignettes フィールドの値を false に設定してください。 また、Vignette ファイル中の R コードは Stangle 関数によって展開されるので、実行可能なコードになっている必要があります。

非推奨に変更された関数

データフレーム x (sd については行列の場合も) に対し、mean(x)sd(x) を単純に実行する事は非推奨となり、警告が表示される様になります。 どちらもかなり広く用いられていますが今後は、sapply()vapply() または mean の場合はcolMeans() に置き換えなければなりません。

履歴