R 2.2.1 の変更点 [[オリジナル文書>http://cran.r-project.org/src/base/NEWS]] #contents *ユーザから見える変更 -options("expressions") の値が 1000 に減らされました。2.1.0 で設定された 5000 という制限は、C stack のオーバーフローによるクラッシュを引き起こしがちでした。 *新機能 o Use of 'pch' (e.g. in points) in the symbol font 5 is now interpreted in the single-byte encoding used by that font. Similarly, strwidth now recognizes that font 5 has a different encoding from that of the locale. (These are likely to affect the answer only in MBCS locales such as UTF-8.) -URW フォントのフォントメトリックが、2002年末以降のバージョンにアップデートされました。このバージョンは、キリル文字を含むより多くのグリフを含んでいます。 -Postscript で新たに以下のエンコーディングが使えるようになりました:CP1250 (Windows East European)、ISO Latin-7 (8859-13, Latvian, Lithuanian and Maori)、Cyrillic (8859-5)、KOI8-R、KOI8-U、CP1251。 -ix86 および x86_64 Linux 上の Intel および Portland Group のコンパイラに対する、configure のサポートが改善されました。 -R CMD INSTALL が、実行が中断されたとき (キーボードから ctrl-C を入力したときなど) に「ゴミ」を残さないようになりました。 -メッセージ全体のフランス語訳ができました。Philippe Grosjean に感謝します。 *廃止および廃止予定 -文書化されていない、atan() に2つの引数を取らせる使い方は廃止予定です。代わりに atan2() を使ってください(文書にある通りです)。 -axis() および mtext() の 'vfont' 引数は廃止予定です(現在では警告が表示され、なんの動作もしません)。 -関数 mauchley.test() は廃止予定となり(スペルが間違っていました)、mauchly.test() に置き換えられました。 *バグフィックス o The malloc's of AIX and OSF/1 which return NULL for size 0 are now catered for in src/main/regex.c. -欠損したリスト要素の名前が $<NA> と表示されるようになりました。$"NA" ではありません (こちらは欠損値ではない "NA" という名前の表示に用いられます)。 (PR#8161 での議論で提案されました) -help.start() が、フロントページおよびそこから直接リンクされているページで使用する R.css をリンクしていませんでした (2.2.0 のみ)。 o Indexing by character NA matched the name "NA". o The arith-true test used random inputs and did not set the seed, so it could fail very occasionally. o arima() with 'fixed' supplied and p=0 for the non-seasonal part could give spurious warnings about 'some AR parameters were fixed'. -クラスオブジェクトによっては、summary.matrix() が無限再帰を引き起こす可能性がありました (たとえば "Surv" クラスのオブジェクト)。 -8ビット文字集合における255番目の文字が、C char が sign されているいくつかのプラットフォームにおいて、文字として正しく扱われていませんでした。たとえば、この文字が \377 と表示され、変数名に使うことができませんでした。(Alexey Shipunov がロシア語エンコーディング上で示しました) -C char が sign されているいくつかのプラットフォームにおいて、8ビット文字集合における255番目の文字が正しく文字として扱われていませんでした。たとえば、この文字が \377 と表示され、変数名に使うことができませんでした。(Alexey Shipunov がロシア語エンコーディング上で示しました) o Conversion from POSIXct to POSIXlt is done more accurately around the change of DST in years not supported by the OS (pre-1970 on Windows and some others, and in the far past or future). -プラットフォームによっては、chisq.test(cbind(1:0, c(7,16)), simulate.p = TRUE) が間違ったp値を返していました。(PR#8224) -pdf() がエンコーディングの詳細を正確にファイルに書き出していませんでした。(Alexey Shipunov がロシア語エンコーディング上で示しました) o image() was failing with an error when plotting a matrix of all NA values. (PR#8228) image() could fail if called with add=FALSE (the default) and length(x)=1 for either x or y, as it uses the plot coordinates of the previous plot (if any). -tools::checkMD5sums がスペースを含むファイル名を受け取ることができませんでした。 o The plot() method for TukeyHSD() needed updating after adding adjusted p-values. (PR#8229) -read.fwf() が header = TRUE の場合に動作していませんでした。(PR#8226) -引数の dimnames が NA 値を含む場合に、diag() が落ちていました。 -UTF-8 ロケールでは、ヘルプページの例でさえ、\U および \L を用いた場合に [g]sub(pcre=TRUE) が正しく動作していませんでした。 -"methods" 引数を与えると、promptMethods() が落ちていました。 o is.loaded() now finds Fortran symbols whether or not the registration mechanism has been used. o ISODateTime() mistakenly corrected non-existent times (when DST was being started) in the current time zone. -データフレームでの置換で、間違った結果を返す場合がありました。たとえば、DF[3:4, "y"] で "y" カラムが存在しない、あるいは行列だった場合がそうです。 o getGraphicsEvent() would cause memory corruption if passed an empty prompt. o qr() and chol() now pivot the colnames of the result when pivoting is used. (PR#8258) o example(points) omitted pch=0, although it was valid and said in the text to be illustrated. o plot.default() had an unused 'lab' argument, thereby preventing the 'lab' graphics parameter being passed through '...' . o Although polygon(col = NA) was the stated default, specifying NA was not equivalent to omitting the argument (but col=NULL was equivalent). -Im(-1) が pi になっていました。(PR#8272。R の以前の全バージョンで、非複素数の Im と Arg が同じ値を返していたことの副作用です) -symbols(fg) のデフォルトが colour 1 になっており、文書にある par("col") になっていませんでした。現在はデフォルトが par("col") になっています。 -par("family") が値の長さ (49バイトまで) をチェックしておらず、そのために segfault を起こす可能性がありました。 o aggregate.ts() did not allow for rounding in frequencies such as 1/5. o prcomp(tol=) was not dropping the sdev's corresponding to dropped columns. o Subassignment of a vector which increased the length of the vector _and_ had the wrong length of replacement could occasionally segfault. (This has been there since at least mid 1997.) o The registration of .Fortran symbols was broken: these could only be looked up if there were also .Call symbols registered! o R CMD build was incorrectly rejecting the recommended form of name for a translation package, 'Translation-ll'. (PR#8314) o numericDeriv() gave nonsense results unless the variables were real, which was not checked. o predict.prcomp() would sometimes give an error when predicting a single observation. (PR#8324) -mapply() が、MoreArgs がリストでない場合に segfault を起こす可能性がありました。(PR#8332) o The arith-true test used identical() on floating-point results, and this allowed a failure when the relative difference was less than .Machine$double.eps but non-zero. -qbinom() が、log.p = TRUE の場合に、正当な値であるにもかかわらず、p = -Inf を受け付けていませんでした。 -write.csv[2] が 'row.names' として論理定数しか受け付けていませんでしたが、変数を受け付けるようになりました。 o Conversion of .Rd files did not correctly match braces enclosing a whole argument, e.g. \eqn{{\bf a}}{a}. o The C function pythag (used if hypot was not available) would infinite-loop on systems with effective optimizing compilers. -dummy_vfprintf を使用するコネクションで長い書式 (1000バイトを越すもの) を書こうとすると、これに失敗する可能性のあるシステムがありました。R 2.3.0 でもっと完全なフィックスが行われるまで、制限を 100000 バイトに変更しておきます。 -R を make せずに src/nmath/standalone ディレクトリ下で make を行った場合、Rmath.h が make されていませんでした。 o Both the R front-end and INSTALL could find the attempted temporary directory name already in use on platforms without mktemp (and a genuine Bourne shell /bin/sh, not bash). Now both the process ID and a timestamp are used to create the directory name. -ほかの分布関数との一貫性のために、[dpqr]gamma が不正な 'shape' パラメータに対して (エラーを投げるのでなく) NaN を返すようになりました。 o t() now longer drops dimnames 'list(NULL,NULL)' or 'list(NULL)'. o Influence measures such as rstandard() and cooks.distance() could return infinite values rather than NaN for a case which was fitted exactly. Similarly, plot.lm() could fail on such examples. plot.lm(which = 5) had to be modified to only plot cases with hat < 1. (PR#8367) lm.influence() was incorrectly reporting 'coefficients' and 'sigma' as NaN for cases with hat = 1, and on some platforms not detecting hat = 1 correctly. -スタンドアロンの Rmath の Rmath.h が HAVE_WORKING_LOG を記録しておらず、この変数を利用するプラットフォーム上で R_log を利用できませんでした。 -HoltWinters() が C コード中でやや不正確な式を利用していました。 -dir.create() が、パスの末尾のスラッシュ、および Windows のドライブ名を含むパスによって混乱していました。 -tcl/tkConfig.sh を検索する際、'lib64' ディレクトリより先に 'lib' が検索されていました (/usr/local/lib64 は全く検索していませんでした)。そのため、32-bit、64-bit バージョンの双方が利用できる場合に、32-bit バージョンの方が選択されるかもしれませんでした。 o nlminb() used an uninitialized variable unless bounds were supplied, and so failed on 64-bit Solaris.