R 2.1.0 の変更点
の編集
http://www.okadajp.org/RWiki/?R+2.1.0+%E3%81%AE%E5%A4%89%E6%9B%B4%E7%82%B9
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
COLOR(blue){SIZE(17){R 2.1.0 の変更点}} 暇と関心のある方は適宜和訳お願いします。 [[オリジナル文書>http://cran.r-project.org/src/base/NEWS]] #contents *ユーザに見える変更 -箱ひげ図(boxplot() や bxp() の出力)で、median line が、quartile line と区別できるように、通常の3倍の幅で描画されるようになりました。 -Unix系OSで、OSが実装しているならば、ロケールにUTF-8を使用することができるようになりました。下記の[[国際化>R 2.1.0 の変更点#content_1_2]]の章を参照してください。 -connection 操作における 'encoding' の意味が変わりました。下記の[[国際化>R 2.1.0 の変更点#content_1_2]]の章を参照してください。 -翻訳処理を容易にするために、warning/error メッセージのフォーマットの合理化が行なわれました。関数と引数はシングルクォートで囲まれ、クラスはダブルクォートで囲まれます。 -"\"が含まれるテキストファイルを読み込む場合(Windowsファイル名が含まれるときなど)は、 scan(* , allowEscapes = FALSE) を使うのがよいでしょう。これも下記を参照してください。 *新しい特徴 o %% now warns if its accuracy is likely to be affected by lack of precision (as in 1e18 %% 11, the unrealistic expectation of PR#7409), and tries harder to return a value in range when it is. -abbreviate()は、英語用に作られているため、ASCII以外で使用した場合に警告を出すようになりました。 o The default methods for add1() and drop1() check for changes in the number of cases in use. The "lm" and "glm" methods for add1() quoted the <none> model on the original fitted values when using (with a warning) a smaller set of cases for the expanded models. -ビープを鳴らす、あるいはヴィジュアルベルを起こす関数 alarm() が追加されました。 -all/any() が、the Blue Book に記載されているように、引数を論理型への強制変換を試みるようになりました。これによって、たとえば any(list()) が動作するようになります。 -多変量解析線形モデルのための関数を追加: anova.mlm(), SSD(), estVar(), mauchley.test() (sphericity 用)~ vcov() は、 "mlm" クラスのオブジェクトに対して、より有用になりました。 // o New functions for multivariate linear models: anova.mlm(), // SSD(), estVar(), mauchley.test() (for sphericity). // // vcov() now does something more sensible for "mlm" class objects. -as.data.frame.table() が新しい引数 'responseName' を持つことになりました(Bill Venables による寄与)。 o as.dist() and cophenetic() are now generic, and the latter has a new method for objects of class "dendrogram". o as.ts() is now generic. o binomial() has a new "cauchit" link (suggested by Roger Koenker). o chisq.test() has a new argument 'rescale.p'. It is now possible to simulate (slowly) the P value also in the 1D case (contributed by Rolf Turner). -choose(n,k) と lchoose(.) が、一般の二項定理にしたがって、任意の(実数)n で動作するようになりました。 choose(*,k) は、小さな k に対して、より正確(そしてより高速)です -色の補間を行う関数 colorRamp() と colorRampPalette() が追加されました。 o colSums()/rowSums() now allow arrays with a zero-length extent (requested by PR#7775). o confint() has stub methods for classes "glm" and "nls" that invoke those in package MASS. This avoids using the "lm" method for "glm" objects if MASS is not attached. confint() has a default method using asymptotic normality. -contr.SAS() が、'nlme' パッケージから 'stats' パッケージに移されました。 -色空間の間のマッピングを行う関数 convertColors() が追加されました。 colorRamp() がこれを使用します。 o The cov() function in the non-Pearson cases now ranks data after removal of missing values, not before. The pairwise-complete method should now be consistent with cor.test. (Code contributed by Shigenobu Aoki.) -関数 delayedAssign() が追加されました。これにより、delay() は置き換えられるので、こちらは推奨されません。 // o Added delayedAssign() function to replace delay(), which is now // deprecated. -dir.create() に引数 'recursive' が追加されました。これは、Unix の mkdir -p と同じ機能を提供するものです。 -do.call() が、最初の引数として関数名か文字列、どちらも受け付けるようになりました。また、それに与えられる引数が、オプションでクォートできます。 o duplicated() and unique() now accept "list" objects, but are fast only for simple list objects. o ecdf() now has jumps of the correct size (a multiple of 1/n) if there are ties. (Wished by PR#7292). o eff.aovlist() assumed orthogonal contrasts for any term with more than one degree of freedom: this is now documented and checked for. Where each term only occurs in only one stratum the efficiencies are all one: this is detected and orthogonal contrasts are not required. -encodeString() は、print が行うのと同様の方法で、文字列を encode する新しい関数です。 -file("clipboard") が、Unix系で X11 ディスプレイを用いている場合に、そのプライマリセレクションを読み込むようになりました。(いままでは、Windows において読み書きをサポートしていました。) セカンダリセレクションを読み込むこともできます。 ?file を参照してください。~ file() が、 "w+" だけでなく "w+b" をサポートするようになりました。 -file.append() が、多数のファイルをあるファイルに追加する場合も含め、チューンされています。 -関数 flush.console() と select.list() が、全てのプラットフォームで利用可能になりました。 select.list() には Tcl/Tk 版が存在し、これは package tcltk にある tk_select.list() を呼び出します。 -gc() が、現在のメモリ使用量だけでなく、最大量も報告するようになりました。 -新しい関数 getGrahicsEvent() が追加されました。これは、グラフィクスデバイスからのマウスやキーボード入力を許可するものです。(注:現在は Windows スクリーンデバイスしかサポートしてません。2.1.0 のリリース前に改善すべきです。) -グレースケールカラーパレットのための関数 gray.colors()/grey.colors() が追加されました。 o grep(), gsub(), sub() and regexpr() now always attempt to coerce their 'pattern', 'x', 'replacement' and 'text' arguments to character. Previously this was undocumented but done by [g]sub() and regexpr() for some values of their other arguments. (Wish of PR#7742.) -gsub/sub() が新しく 'fixed' メソッドを持つようになりました。 -与えた色度,彩度,明度(i.e. peerceptual hsv)に対応する色を生成する関数 hcl() が追加されました。 -isTRUE() は、プログラミングで使用するのに便利な関数です。 -kemans() は、print() メソッドをもつクラス "kmeans" のオブジェクトを返すようになりました。~ 2つの選択可能なアルゴリズムが実装されています。~ 中心の数が提供されているならば、multiple random starts というオプションがあります。 // If the number of centres is supplied, it has a new option of // multiple random starts. -layout() のグリッドサイズの限界が、文書化されました。また、内部構造を効率化したことにより、そのサイズがいくらか増えています。 -legend() が、"topleft" といったキーワードによる位置指定を受け付けるようになりました。また、タイトルを凡例に付けることができるようになりました(Elizabeth Purdom による PR#7400 での提案)。 o mahalanobis() now has a '...' argument which is passed to solve() for computing the inverse of the covariance matrix, this replaces the former 'tol.inv' argument. -menu() が、選択肢(choice)が10個より多いときは、マルチコラムレイアウトを使うようになりました。~ menu(graphics = TRUE) は、多くのプラットフォームにおいて、select.list() あるいは tk_select.list() によって実装されています。 o New function message() in 'base' for generating "simple" diagnostic messages, replacing such a function in the 'methods' package. o na.contiguous() is now (S3) generic with first argument renamed to 'object'. -normalizePath() は、標準パスを見付ける、新しい関数です(Windows 上では、名前が正規化されます)。 // o New function normalizePath() to find canonical paths (and on // Windows, canonical names of components). -options("expressions") のデフォルト値が 5000 に増加されました。 また、設定可能最大値も 500000 になっています。 o p.adjust() has a new method "BY". o pbeta() now uses a different algorithm for large values of at least one of the shape parameters, which is much faster and is accurate and reliable for very large values. (This affects pbinom(), pf(), qbeta() and other functions using pbeta at C level.) o pch="." now by default produces a rectangle at least 0.01" per side on high-resolution devices. (It used to be one-pixel square even on high-resolution screens and Windows printers, but 1/72" on postscript() and pdf() devices.) Additionally, the size is now scalable by 'cex'; see ?points and note that the details are subject to change. -pdf() が引数 'paper' と 'pagecentre' に応じるようになりました。 'paper' のデフォルト値は、後方互換性のために "special" となっています(これは postscript() のデフォルトとは異なります)。 o plot.data.frame() tries harder to produce sensible plots for non-numeric data frames with one or two columns. o The predict() methods for "prcomp" and "princomp" now match the columns of 'newdata' to the original fit using column names if these are available. -recordGraphics() は、グラフィクスエンジンディスプレイリスト上で、計算と画像出力を共にカプセル化する、新しい関数です。 使用には注意してください。 o New function RSiteSearch() to query R-related resources on-line (contributed by Jonathan Baron and Andy Liaw). o scan() arranges to share storage of duplicated character strings read in: this can dramatically reduce the memory requirements for large character vectors which will subsequently be turned into factors with relatively few levels. For a million items this halved the time and reduced storage by a factor of 20. scan() has a new argument 'allowEscapes' (default TRUE) that controls when C-style escapes in the input are interpreted. Previously only \n and \r were interpreted, and then only within quoted strings when no separator was supplied. scan() used on an open connection now pushes back on the connection its private `ungetc' and so is safer to use to read partial lines. o scatter.smooth() and loess.smooth() now handle missing values in their inputs. -seq.Date() および seq.POSIXt() で、'by' が負の場合には、'from' より以前の 'to' を指定できるようになりました。 o sprintf() has been enhanced to allow the POSIX/XSI specifiers like "%2$6d", and also accepts "%x" and "%X". sprintf() does limited coercion of its arguments. sprintf() accepts vector arguments and operates on them in parallel (after re-cycling if needed). -文字ベクトルを指定幅にトリミングする関数 strtrim() が追加されました。これは、マルチバイト文字セットでの倍幅文字に対しても指定できます。 -subset() が行列に対するメソッドを持つようになりました。 // o subset() now has a method for matrices, similar to that for // data frames. -summaryRprof() のアルゴリズムが高速化されました。 -sunflowerplot() が新しい引数 'col' と 'bg' を持つことになりました。 -sys.function() が、引数 'which' を持つことになりました(かなり以前からヘルプページで予言されていました)。 o Sys.setlocale("LC_ALL", ) now only sets the locale categories which R uses, and Sys.setlocale("LC_NUMERIC", ) now gives a warning (as it can cause R to malfunction). o unclass() is no longer allowed for environments and external pointers (since these cannot be copied and so unclass() was destructive of its argument). You can still change the "class" attribute. o File-name matching is no longer case-insensitive with unz() connections, even on Windows. o New argument 'immediate.' to warning() to send an immediate warning. o New convenience wrappers write.csv() and write.csv2(). o There is a new version for write.table() which is implemented in C. For simple matrices and data frames this is several times faster than before, and uses negligible memory compared to the object size. The old version (which no longer coerces a matrix to a data frame and then back to a matrix) is available for now as write.table0(). -関数 xinch(), yinch(), xyinch() が、'grDevices' パッケージから 'graphics' に移されました。 o Plotmath now allows underline in expressions. (PR#7286, contributed by Uwe Ligges.) o BATCH on Unix no longer sets --gui="none" as the X11 module is only loaded if needed. o The X11 module (and the hence X11(), jpeg() and png() devices and the X-based dataentry editor) is now in principle available under all Unix GUIs except --gui="none", and this is reflected in capabilities(). capabilities("X11") determines if an X server can be accessed, and so is more likely to be accurate. o Printing of arrays now honours the 'right' argument if there are more than two dimensions. o Tabular printing of numbers now has headers right-justified, as they were prior to version 1.7.0 (spotted by Rob Baer). -遅延ロードするデータベースが、最初に使用されるときにメモリにキャッシュされるようになりました。これにより、USB フラッシュメモリのような、読み書きの遅いファイルシステムにおいて、より高速に R を起動できるようになります。 これにより、標準メモリ使用量が(2Mb 未満ですが)増加しています。 o The implicit class structure for numeric vectors has been changed, so that integer/real vectors try first methods for class "integer"/"double" and then those for class "numeric". The implicit classes for matrices and arrays have been changed to be "matrix"/"array" followed by the class(es) of the underlying vector. o splines::splineDesign() now allows the evaluation of a B-spline basis everywhere instead of just inside the "inner" knots, by setting the new argument `outer.ok = TRUE'. -ハッシュが以前の半分しかメモリを使用しないようになりました。 o Readline is not used for tilde expansion when R is run with --no-readline, nor from embedded applications. Then "~name" is no longer expanded, but "~" still is. -正規表現が glibc 2.3.3 ベースになりました。POSIX により厳密に従うため、{ } + * といったメタ文字は、以前は不要だったエスケープが必要となるでしょう。 // o The regular expression code is now based on that in glibc 2.3.3. // It has stricter conformance to POSIX, so metachars such as // { } + * may need to be escaped where before they did not // (but could have been). o New encoding 'TeXtext.enc' improves the way postscript() works with Computer Modern fonts. o Replacement in a non-existent column of a data frame tries harder to create a column of the correct length and so avoid a corrupt data frame. o For Windows and readline-based history, the saved file size is re-read from R_HISTSIZE immediately before saving. o Collected warnings during start-up are now printed before the initial prompt rather than after the first command. o Changes to package 'grid': - preDrawDetails(), drawDetails(), and postDrawDetails() methods are now recorded on the graphics engine display list. This means that calculations within these methods are now run when a device is resized or when output is copied from one device to another. - Fixed bug in grid.text() when 'rot' argument has length 0. (privately reported by Emmanuel Paradis) - New getNames() function to return just the names of all top-level grobs on the display list. - Recording on the grid display list is turned off within preDrawDetails(), drawDetails(), and postDrawDetails() methods. - Grid should recover better from errors or user-interrupts during drawing (i.e., not leave you in a strange viewport or with strange graphical parameter settings). - New function grid.refresh() to redraw the grid display list. - New function grid.record() to capture calculations with grid graphics output. - grobWidth and grobHeight ("grobwidth" and "grobheight" units) for primitives (text, rects, etc, ...) are now calculated based on a bounding box for the relevant grob. NOTE: this has changed the calculation of the size of a scalar rect (or circle or lines). - New arguments 'warn' and 'wrap' for function grid.grab() - New function grid.grabExpr() which captures the output from an expression (i.e., not from the current scene) without doing any drawing (i.e., no impact on the current scene). - upViewport() now (invisibly) returns the path that it goes up (suggested by Ross Ihaka). - The 'gamma' gpar has been deprecated (this is a device property not a property of graphical objects; suggested by Ross Ihaka). - New 'lex' gpar; a line width multiplier. - grid.text() now handles any language object as mathematical annotation (instead of just expressions). - plotViewport() has default value for 'margins' argument (that match the default value for par(mar)). - The 'extension' argument to dataViewport() can now be vector, in which case the first value is used to extend the xscale and the second value is used to extend the y scale. (suggested by Ross Ihaka). - All 'just' arguments (for viewports, layouts, rectangles, text) can now be numeric values (typically between 0 [left] and 1 [right]) as well as character values ("left", "right", ...). For rectangles and text, there are additional 'hjust' and 'vjust' arguments which allow numeric vectors of justification in each direction (e.g., so that several pieces of text can have different justifications). (suggested by Ross Ihaka) - New 'edits' argument for grid.xaxis() and grid.yaxis() to allow specification of on-the-fly edits to axis children. - applyEdit(x, edit) returns x if target of edit (i.e., child specified by a gPath) cannot be found. - Fix for calculation of length of max/min/sum unit. Length is now (correctly) reported as 1 (was reported as length of first arg). - Viewport names can now be any string (they used to have to be a valid R symbol). - The 'label' argument for grid.xaxis() and grid.yaxis() can now also be a language object or string vector, in which case it specifies custom labels for the tick marks. *国際化 -Unix系OSでは、オプション --enable-mbcs (既定)でコンフィギュアすると、OS がサポートすれば UTF-8 や他の多バイト長ロケールで使用できる。[X11モヂュールのフォント処理の変更は中間栄治氏の日本語化パッチに基づく。]~ Windows版では、可能な場合には、ロケールに「東アジア」が使用できるようになりました。~ マニュアル 'Installation and Administration' の 'Internationalization' を参照してください。 o New command-line flag --encoding to specify the encoding to be assumed for stdin (but not for a console). -新しい関数 iconv() は、これをサポートする OS 上で、文字ベクトルを encoding 間で変換します。 capabilities("iconv") を参照してください。 o The meaning of 'encoding' for a connection has changed: it now allows any charset encoding supported by iconv on the platform, and can re-encode output as well as input. As the new specification is a character string and the old was numeric, this should not cause incorrect operation. -新しい関数 localeToCharset() は、ロケール名から encoding(s) を発見・推定します。 o nchar() returns the true number of bytes stored (including any embedded nuls), this being 2 for missing values. It has an optional argument 'type' with possible non-default values "chars" and "width" to give the number of characters or the display width in columns. o Characters can be entered in hexadecimal as e.g. \x9c, and in UTF-8 and other multibyte locales as \uxxxx, \u{xxxx}, \Uxxxxxxxx or \U{xxxxxxxx}. Non-printable Unicode characters are displayed C-style as \uxxxx or \Uxxxxxxxx. o LC_MONETARY is set to the locale, which affects the result of Sys.localeconv(), but nothing else in R itself. (It could affect add-on packages.) o source() now has an 'encoding' argument which can be used to make it try out various possible encodings. This is made use of by example() which will convert (non-UTF-8) Latin-1 example files in a UTF-8 locale. -read/writeChar() が、バイト単位ではなく文字単位で動作するようになりました。 -.C() が、re-encoding をOSがサポートしている場合に、 ENCODING= 引数を受け付けるようになりました。 'Writing R Extensions' を参照してください。 o delimMatch (tools) now reports match positions and lengths in units of characters, not bytes. The delimiters can be strings, not just single ASCII characters. o .Rd files can indicate via a \encoding{} argument the encoding that should be assumed for non-ASCII characters they contain. o Phrases in .Rd files can be marked by \enc{}{} to show a transliteration to ASCII for use in e.g. text help. o The use of 'pch' in points() now allows for multi-byte character sets: in such a locale a glyph can either be specified as a multi-byte single character or as a number, the Unicode point. o New function l10n_info() reports on aspects of the locale/charset currently in use. o scan() is now aware of double-byte locales such as Shift-JIS in which ASCII characters can occur as the second ('trail') byte. -関数 sQuote() と dQuote() は、UTF-8 ロケールの場合に、指向性のあるクォートを使用します。 o The infrastructure is now in place for C-level error and warning messages to be translated and used on systems with Native Language Support. This has been used for the startup message in English and to translate Americanisms such as 'color' into English: translations to several other languages are under way, and some are included in this release. See 'Writing R Extensions' for how to make use of this in a package: all the standard packages have been set up to do translation, and the 'language' 'en at quot' is implemented to allow Unicode directional quotes in a UTF-8 locale. o R-level stop(), warning() and message() messages can be translated, as can other messages via the new function gettext(). Tools xgettext() and xgettext2pot() are provided in package tools to help manage error messages. gettextf() is a new wrapper to call sprintf() using gettext() on the format string. o Function ngettext() allows the management of singular and plural forms of messages. *ユーティリティ o New functions mirror2html() and checkCRAN(). -R CMD check に、オプション '--use-valgrind' が追加されました。 o R CMD check now checks that Fortran and C++ files have LF line endings, as well as C files. It also checks Makevars[.in] files for portable compilation flags. o R CMD check will now work on a source tarball and prints out information about the version of R and the package. o tools:::.install_package_code_files() (used to collate R files when installing packages) ensures files are separated by a line feed. o vignette() now returns an object of class "vignette" whose print() method opens the corresponding PDF file. The edit() method can be used to open the code of the vignette in an editor. o R CMD INSTALL on Unix has a new option '--build' matching that on Windows, to package as tarball the installed package. o R CMD INSTALL on Unix can now install binary bundles. o R CMD build now changes src files to LF line endings if necessary. o R CMD build now behaves consistently between source and binary builds: in each case it prepares a source directory and then either packages that directory as a tarball or calls R CMD INSTALL --build on the prepared sources. This means that R CMD build --binary now respects .Rbuildignore and will rebuild vignettes (unless the option --no-vignettes is used). For the latter, it now installs the current sources into a temporary library and uses that version of the package/bundle to rebuild the vignettes. o R CMD build now reports empty directories in the source tree. o New function write_PACKAGES() in package 'tools' to help with preparing local package repositories. (Based on a contribution by Uwe Ligges.) How to prepare such repositories is documented in the 'R Installation and Administration' manual. o package.skeleton() adds a bit more to DESCRIPTION. o Sweave changes: - \usepackage[nogin]{Sweave} in the header of an Sweave file supresses auto-setting of the graphical parameter like width of graphics. - The new \SweaveInput{} command works similar to LaTeX's \input{} command. - Option value strip.white=all strips all blank lines from the output of a code chunk. - Code chunks with eval=false are commented out by Stangle() and hence no longer tested by R CMD check. *文章 o File doc/html/faq.html no longer exists, and doc/manual/R-FAQ.html (which has active links to other manuals) is used instead. (If makeinfo >= 4.7 is not available, the version on CRAN is linked to.) o Manual 'Writing R Extensions' has further details on writing new front-ends for R using the new public header files. o There are no longer any restrictions on characters in the \name{} field of a .Rd file: in particular _ is supported. *Cーレベル機能 o There are new public C/C++ header files Rinterface.h and R_ext/RStartup.h for use with external GUIs. o Added an onExit() function to graphics devices, to be executed upon user break if non-NULL. o ISNAN now works even in C++ code that undefines the 'isnan' macro. -R_alloc の64ビットシステムにおける限界が、2^31バイト(2GB)から、2^34(16GB)に引き上げられました。そして、チェックも行われます。 o New math utility functions log1pmx(x), lgamma1p(x), logspace_add(logx, logy), and logspace_sub(logx, logy). *廃止および廃止予定 o The aqua module for MacOS X has been removed: --with-aqua now refers to the unbundled Cocoa GUI. -capability の "bzip2", "GNOME", "libz", "PCRE" は、廃止されました。 o The undocumented use of UseMethod() with no argument was deprecated in 2.0.1 and is now regarded as an error. -capability の "IEEE754" は、廃止されます。 o The 'CRAN' argument to update.packages(), old.packages(), new.packages(), download.packages() and install.packages() is deprecated in favour of 'repos', which replaces it as a positional argument (so this is only relevant for calls with named args). o The S3 methods for getting and setting names of "dist" objects have been removed (as they provided names with a different length from the "dist" object itself). o Option "repositories" is no longer used and so not set. -loadURL() は load(url()) の方が好ましいので、廃止されます。 -delay() は廃止されます。代わりに delayedAssign() を使って下さい。 *インストール法の変更 -configure に、UTF-8 ロケールを有効にするためのオプション --enable-utf8 が追加されました。標準で on になっています。 -R_XTRA_[CF]FLAGS は、configure テストで使用されます。また、 --enable-R-shlib が設定されたときは [CF]PICFLAGS も用いられます。これにより、コンパイル時のフラグがそれらをサポートすると設定しているときに限り、インラインのような機能が使用されることを保証します。 (PR#7257) // o R_XTRA_[CF]FLAGS are now used during the configuration tests, // and [CF]PICFLAGS if --enable-R-shlib was specified. This // ensures that features such as inlining are only used if the // compilation flags specified support them. (PR#7257) -FAQ, RESOURCES, doc/html/resources.html がいずれのうちに SVN ソースからなくなります。これらを必要とする場合は、 'make dist' を行ってください。 // o Files FAQ, RESOURCES, doc/html/resources.html are no longer in // the SVN sources but are made by 'make dist'. -GNOME GUI はバンドルされなくなり、CRAN のパッケージとして提供されるようになりました。 -推奨パッケージが無い状態で configure を行うと、エラーとするようになりました。不要な場合は --with-recommended-packages=no (あるいは等価な指定)を使ってください。 // o Configuring without having the recommended packages is now an // error unless --with-recommended-packages=no (or equivalent) is used. -X11 のヘッダファイルとライブラリが無い状態で configure を行うと、エラーとするようになりました。不要な場合は --with-x=no (あるいは等価な指定)を使ってください。 o Configure tries harder to find a minimal set of FLIBS. Under some circumstances this may remove from R_LD_LIBRARY_PATH path elements that ought to have specified in LDFLAGS (but were not). -グラフィックスデバイスドライバとそれらの afm ファイルの多くの C コードが、パッケージ grDevices に含まれるようになりました。 -readline の指定(デフォルトで yes)を行い、かつ必要であるときに限り、ncurses/termlib/termcap のリンクが行なわれるようになりました。 // o R is now linked against ncurses/termlib/termcap only if // readline is specified (now the default) and that requires it. -HTML形式およびInfo形式のマニュアルを構築するためには、Makeinfo 4.7以降が必要です。 *パッケージのインストール法の変更 -新しい種類のパッケージが登場しました。これらは、 DESCRIPTION ファイルの Type フィールドによって判別されます。 たとえば、GNOME コンソールは、(CRAN にて)別個のパッケージになりました。また、翻訳もパッケージとして提供されます。 -MacOS X と Windows において、ソースとバイナリ両者のパッケージのインストールがサポートされるようになりました。 大抵の R 関数は、getOption("pkgType") と "source", "win.binary", "mac.binary" のどれかの値にしたがってデフォルトとなる 'type' 引数を持つようになりました。 Windows や CRAN GUI でビルドされた MacOS X 環境を除き、デフォルトは "source" です。 // o There is now support of installing from within R both source and // binary packages on MacOS X and Windows. Most of the R // functions now have a 'type' argument defaulting to // getOption("pkgType") and with possible values "source", // "win.binary" and "mac.binary". The default is "source" except // under Windows and the CRAN GUI build for MacOS X. o install.packages() and friends now accept a vector of URLs for 'repos' or 'contriburl' and get the newest available version of a package from the first repository on the list in which it is found. The argument 'CRAN' is still accepted, but deprecated. install.packages() on Unix can now install from local .tar.gz files via repos = NULL (as has long been done on Windows). install.packages() no longer asks if downloaded packages should be deleted: they will be deleted at the end of the session anyway (and can be deleted by the user at any time). If the repository provides the information, install.packages() will now accept the name of a package in a bundle. If 'pkgs' is omitted install.packages() will use a listbox to display the available packages, on suitable systems. 'dependencies' can be a character vector to allow only some levels of dependencies (e.g. not "Suggests") to be requested. o There is a new possible value update.packages(ask="graphics") that uses a widget to (de)select packages, on suitable systems. o The option used is now getOption("repos") not getOption("CRAN") and it is initially set to a dummy value. Its value can be a character vector (preferably named) giving one or several repositories. A new function chooseCRANmirror() will select a CRAN mirror. This is called automatically if the contrib.url() encounters the initial dummy value of getOption("repos") A new function setRepositories() can be used to create getOption("repos") from a (platform-specific) list of known repositories. o New function new.packages() to report uninstalled packages available at the requested repositories. This also reports incomplete bundles. It will optionally install new packages. o New function available.packages(), similar to CRAN.packages() but for use with multiple repositories. Both now only report packages whose R version requirements are met. o update.packages() and old.packages() have a new option 'checkBuilt' to allow packages installed under earlier versions of R to be updated. o remove.packages() can now remove bundles. o The Contains: field of the DESCRIPTION file of package bundles is now installed, so later checks can find out if the bundle is complete. o packageStatus() is now built on top of *.packages, and gains a 'method' argument. It defaults to the same repositories as the other tools, those specified by getOption("repos"). *バグ修正 o Configuring for Tcl/Tk makes use of ${TK_LIB_SPEC} ${TK_LIBS} not ${TK_LIB_SPEC} ${TK_XLIBSW}, which is correct for recent versions of Tk, but conceivably not for old tkConfig.sh files. o detach() was not recomputing the S4 methods for primitives correctly. o Methods package now has class "expression" partly fixed in basic classes, so S4 classes can extend these (but "expression" is pretty broken as a vector class in R). o Collected warnings had messages with unneeded trailing space. o S4 methods for primitive functions must be exported from namespaces; this is now done automatically. Note that is.primitive() is now in "base", not "methods". o Package grid: - Fixed bug in grid.text() when "rot" argument has length 0. (reported by Emmanuel Paradis) o .install_package_vignette_index() created an index even in an empty 'doc' directory. o The print() method for factors now escapes characters in the levels in the same way as they are printed. o str() removed any class from environment objects. str() no longer interprets control characters in character strings and factor levels; also no longer truncates factor levels unless they are longer than 'nchar.max'. Truncation of such long strings is now indicated ''outside'' the string. str(<S4.object>) was misleading for the case of a single slot. str() now also properly displays S4 class definitions (such as returned by getClass(). o print.factor(quote=TRUE) was not quoting levels, causing ambiguity when the levels contained spaces or quotes. o R CMD check was confused by a trailing / on a package name. o write.table() was writing incorrect column names if the data frame contained any matrix-like columns. o write.table() was not quoting row names for a 0-column x. o t(x)'s default method now also preserves names(dimnames(x)) for 1D arrays 'x'. o r <- a %*% b no longer produces names(dimnames(r)) == c("", "") unless one of a or b has named dimnames. o Some .Internal functions that were supposed to return invisibly did not. This was behind PR#7397 and PR#7466. o eval(expr, NULL, encl) now looks up variables in encl, as eval(expr, list(), encl) always did o Coercing as.data.frame(NULL) to a pairlist caused an error. o p.adjust(p, ..) now correctly works when `p' contains NAs (or when it is of length 0 or length 2 for method = "hommel"). o 'methods' initialization was calling a function intended for .Call() with .C(). o optim() needed a check that the objective function returns a value of length 1 (spotted by Ben Bolker). o X11() was only scaling its fonts to pointsize if the dpi was within 0.5 of 100dpi. o X11() font selection was looking for any symbol font, and sometimes got e.g. bold italic if the server has such a font. o dpois(*, lambda=Inf) now returns 0 (or -Inf for log). o Using pch="" gave a square (pch=0)! Now it is regarded as the same as NA, which was also undocumented but omits the point. o Base graphics now notices (ab)lines which have a zero coordinate on log scale, and omits them. (PR#7559) o stop() and warning() now accept NULL as they are documented to do (although this seems of little use and is equivalent to ""). o weighted.mean() now checks the length of the weight vector w. o getAnywhere() was confused by names with leading or trailing dots (spotted by Robert McGehee) o eval() was not handling values from return() correctly. o par(omd) is now of the form c(x1, x2, y1, y2) to match the documentation and for S-PLUS compatibility. [Previously, par(omd) was of the form c(bottom, left, top, right) like par(oma) and par(omi)] o formatC() did not check its 'flag' argument, and could segfault if it was incorrect. (PR#7686) o Contrasts needed to be coerced to numeric (e.g. from integer) inside model.matrix. (PR#7695) o socketSelect() did not check for buffered input. o Reads on a non-blocking socket with no available data were not handled properly and could result in a segfault. o The "aovlist" method for se.contrast() failed in some very simple cases that were effectively not multistratum designs, e.g. only one treatment occurring in only one stratum. o pgamma() uses completely re-written algorithms, and should work for all (even very extreme) arguments; this is based on Morten Welinder's contribution related to PR#7307. -dpois(10, 2e-308, log=TRUE) や類似した場合に、 -Inf を返していた。 o x <- 2^(0:1000); plot(x, x^.9, type="l", log="xy")# and x <- 2^-(1070:170); plot(x, x^.9, type="l", log="xy")# now both work o summary.lm() asked for a report on a reasonable occurrence, but the check failed to take account of NAs. o lm() was miscalculating 'df.residual' for empty models with a matrix response. o summary.lm() now behaves more sensibly for empty models. o plot.window() was using the wrong sign when adjusting xlim/ylim for positive 'asp' and a reversed axis. o If malloc() fails when allocating a large object the allocator now does a gc and tries the malloc() again. o packageSlot() and getGroupMembers() are now exported from the 'methods' package as they should from documentation and the Green Book. o rhyper() was giving numbers slightly too small, due to a bug in the original algorithm. (PR#7314) -gsub() が、文字列中に ^ を含む場合に、ときどき間違ったマッチングを行っていた。 たとえば、 gsub("^12", "x", "1212") が "xx" となっていた。 o [g]sub(perl = TRUE) was giving random results for a 0-length initial match. (PR#7742) o [g]sub was ignoring most 0-length matches, including all initial ones. Note that substitutions such as gsub("[[:space:]]*", " ", ...) now work as they do in 'sed' (whereas the effect was previously the same as gsub("[[:space:]]+", " ", ...)). (In part PR#7742) o Promises are now evaluated when extracted from an environment using '$' or '[[ ]]'. o reshape(direction="wide") had some sorting problems when guessing time points (PR#7669) o par() set 'xaxp' before 'xlog' and 'yaxp' before 'ylog', causing PR#831. o The logic in tclRequire() to check the availability of a Tcl package turned out to be fallible. It now uses a try()-and-see mechanism instead. o Opening a unz() connection on a non-existent file left a file handle in use. o "dist" objects of length 0 failed to print. o INSTALL and the libR try harder to find a temporary directory (since there might be one left over with the same PID). o acf() could cause a segfault with some datasets. (PR#7771) -tan(1+LARGEi) が 0+NaNi ではなく、0+1i を返すようになりました (PR#7781) o summary(data.frame(mat = I(matrix(1:8, 4)))) does not go into infinite recursion anymore. o writeBin() performed byte-swapping incorrectly on complex vectors, also swapping real and imaginary parts. (PR#7778) o read.table() sometimes discarded as blank lines containing only white space, even if sep=",".
タイムスタンプを変更しない
COLOR(blue){SIZE(17){R 2.1.0 の変更点}} 暇と関心のある方は適宜和訳お願いします。 [[オリジナル文書>http://cran.r-project.org/src/base/NEWS]] #contents *ユーザに見える変更 -箱ひげ図(boxplot() や bxp() の出力)で、median line が、quartile line と区別できるように、通常の3倍の幅で描画されるようになりました。 -Unix系OSで、OSが実装しているならば、ロケールにUTF-8を使用することができるようになりました。下記の[[国際化>R 2.1.0 の変更点#content_1_2]]の章を参照してください。 -connection 操作における 'encoding' の意味が変わりました。下記の[[国際化>R 2.1.0 の変更点#content_1_2]]の章を参照してください。 -翻訳処理を容易にするために、warning/error メッセージのフォーマットの合理化が行なわれました。関数と引数はシングルクォートで囲まれ、クラスはダブルクォートで囲まれます。 -"\"が含まれるテキストファイルを読み込む場合(Windowsファイル名が含まれるときなど)は、 scan(* , allowEscapes = FALSE) を使うのがよいでしょう。これも下記を参照してください。 *新しい特徴 o %% now warns if its accuracy is likely to be affected by lack of precision (as in 1e18 %% 11, the unrealistic expectation of PR#7409), and tries harder to return a value in range when it is. -abbreviate()は、英語用に作られているため、ASCII以外で使用した場合に警告を出すようになりました。 o The default methods for add1() and drop1() check for changes in the number of cases in use. The "lm" and "glm" methods for add1() quoted the <none> model on the original fitted values when using (with a warning) a smaller set of cases for the expanded models. -ビープを鳴らす、あるいはヴィジュアルベルを起こす関数 alarm() が追加されました。 -all/any() が、the Blue Book に記載されているように、引数を論理型への強制変換を試みるようになりました。これによって、たとえば any(list()) が動作するようになります。 -多変量解析線形モデルのための関数を追加: anova.mlm(), SSD(), estVar(), mauchley.test() (sphericity 用)~ vcov() は、 "mlm" クラスのオブジェクトに対して、より有用になりました。 // o New functions for multivariate linear models: anova.mlm(), // SSD(), estVar(), mauchley.test() (for sphericity). // // vcov() now does something more sensible for "mlm" class objects. -as.data.frame.table() が新しい引数 'responseName' を持つことになりました(Bill Venables による寄与)。 o as.dist() and cophenetic() are now generic, and the latter has a new method for objects of class "dendrogram". o as.ts() is now generic. o binomial() has a new "cauchit" link (suggested by Roger Koenker). o chisq.test() has a new argument 'rescale.p'. It is now possible to simulate (slowly) the P value also in the 1D case (contributed by Rolf Turner). -choose(n,k) と lchoose(.) が、一般の二項定理にしたがって、任意の(実数)n で動作するようになりました。 choose(*,k) は、小さな k に対して、より正確(そしてより高速)です -色の補間を行う関数 colorRamp() と colorRampPalette() が追加されました。 o colSums()/rowSums() now allow arrays with a zero-length extent (requested by PR#7775). o confint() has stub methods for classes "glm" and "nls" that invoke those in package MASS. This avoids using the "lm" method for "glm" objects if MASS is not attached. confint() has a default method using asymptotic normality. -contr.SAS() が、'nlme' パッケージから 'stats' パッケージに移されました。 -色空間の間のマッピングを行う関数 convertColors() が追加されました。 colorRamp() がこれを使用します。 o The cov() function in the non-Pearson cases now ranks data after removal of missing values, not before. The pairwise-complete method should now be consistent with cor.test. (Code contributed by Shigenobu Aoki.) -関数 delayedAssign() が追加されました。これにより、delay() は置き換えられるので、こちらは推奨されません。 // o Added delayedAssign() function to replace delay(), which is now // deprecated. -dir.create() に引数 'recursive' が追加されました。これは、Unix の mkdir -p と同じ機能を提供するものです。 -do.call() が、最初の引数として関数名か文字列、どちらも受け付けるようになりました。また、それに与えられる引数が、オプションでクォートできます。 o duplicated() and unique() now accept "list" objects, but are fast only for simple list objects. o ecdf() now has jumps of the correct size (a multiple of 1/n) if there are ties. (Wished by PR#7292). o eff.aovlist() assumed orthogonal contrasts for any term with more than one degree of freedom: this is now documented and checked for. Where each term only occurs in only one stratum the efficiencies are all one: this is detected and orthogonal contrasts are not required. -encodeString() は、print が行うのと同様の方法で、文字列を encode する新しい関数です。 -file("clipboard") が、Unix系で X11 ディスプレイを用いている場合に、そのプライマリセレクションを読み込むようになりました。(いままでは、Windows において読み書きをサポートしていました。) セカンダリセレクションを読み込むこともできます。 ?file を参照してください。~ file() が、 "w+" だけでなく "w+b" をサポートするようになりました。 -file.append() が、多数のファイルをあるファイルに追加する場合も含め、チューンされています。 -関数 flush.console() と select.list() が、全てのプラットフォームで利用可能になりました。 select.list() には Tcl/Tk 版が存在し、これは package tcltk にある tk_select.list() を呼び出します。 -gc() が、現在のメモリ使用量だけでなく、最大量も報告するようになりました。 -新しい関数 getGrahicsEvent() が追加されました。これは、グラフィクスデバイスからのマウスやキーボード入力を許可するものです。(注:現在は Windows スクリーンデバイスしかサポートしてません。2.1.0 のリリース前に改善すべきです。) -グレースケールカラーパレットのための関数 gray.colors()/grey.colors() が追加されました。 o grep(), gsub(), sub() and regexpr() now always attempt to coerce their 'pattern', 'x', 'replacement' and 'text' arguments to character. Previously this was undocumented but done by [g]sub() and regexpr() for some values of their other arguments. (Wish of PR#7742.) -gsub/sub() が新しく 'fixed' メソッドを持つようになりました。 -与えた色度,彩度,明度(i.e. peerceptual hsv)に対応する色を生成する関数 hcl() が追加されました。 -isTRUE() は、プログラミングで使用するのに便利な関数です。 -kemans() は、print() メソッドをもつクラス "kmeans" のオブジェクトを返すようになりました。~ 2つの選択可能なアルゴリズムが実装されています。~ 中心の数が提供されているならば、multiple random starts というオプションがあります。 // If the number of centres is supplied, it has a new option of // multiple random starts. -layout() のグリッドサイズの限界が、文書化されました。また、内部構造を効率化したことにより、そのサイズがいくらか増えています。 -legend() が、"topleft" といったキーワードによる位置指定を受け付けるようになりました。また、タイトルを凡例に付けることができるようになりました(Elizabeth Purdom による PR#7400 での提案)。 o mahalanobis() now has a '...' argument which is passed to solve() for computing the inverse of the covariance matrix, this replaces the former 'tol.inv' argument. -menu() が、選択肢(choice)が10個より多いときは、マルチコラムレイアウトを使うようになりました。~ menu(graphics = TRUE) は、多くのプラットフォームにおいて、select.list() あるいは tk_select.list() によって実装されています。 o New function message() in 'base' for generating "simple" diagnostic messages, replacing such a function in the 'methods' package. o na.contiguous() is now (S3) generic with first argument renamed to 'object'. -normalizePath() は、標準パスを見付ける、新しい関数です(Windows 上では、名前が正規化されます)。 // o New function normalizePath() to find canonical paths (and on // Windows, canonical names of components). -options("expressions") のデフォルト値が 5000 に増加されました。 また、設定可能最大値も 500000 になっています。 o p.adjust() has a new method "BY". o pbeta() now uses a different algorithm for large values of at least one of the shape parameters, which is much faster and is accurate and reliable for very large values. (This affects pbinom(), pf(), qbeta() and other functions using pbeta at C level.) o pch="." now by default produces a rectangle at least 0.01" per side on high-resolution devices. (It used to be one-pixel square even on high-resolution screens and Windows printers, but 1/72" on postscript() and pdf() devices.) Additionally, the size is now scalable by 'cex'; see ?points and note that the details are subject to change. -pdf() が引数 'paper' と 'pagecentre' に応じるようになりました。 'paper' のデフォルト値は、後方互換性のために "special" となっています(これは postscript() のデフォルトとは異なります)。 o plot.data.frame() tries harder to produce sensible plots for non-numeric data frames with one or two columns. o The predict() methods for "prcomp" and "princomp" now match the columns of 'newdata' to the original fit using column names if these are available. -recordGraphics() は、グラフィクスエンジンディスプレイリスト上で、計算と画像出力を共にカプセル化する、新しい関数です。 使用には注意してください。 o New function RSiteSearch() to query R-related resources on-line (contributed by Jonathan Baron and Andy Liaw). o scan() arranges to share storage of duplicated character strings read in: this can dramatically reduce the memory requirements for large character vectors which will subsequently be turned into factors with relatively few levels. For a million items this halved the time and reduced storage by a factor of 20. scan() has a new argument 'allowEscapes' (default TRUE) that controls when C-style escapes in the input are interpreted. Previously only \n and \r were interpreted, and then only within quoted strings when no separator was supplied. scan() used on an open connection now pushes back on the connection its private `ungetc' and so is safer to use to read partial lines. o scatter.smooth() and loess.smooth() now handle missing values in their inputs. -seq.Date() および seq.POSIXt() で、'by' が負の場合には、'from' より以前の 'to' を指定できるようになりました。 o sprintf() has been enhanced to allow the POSIX/XSI specifiers like "%2$6d", and also accepts "%x" and "%X". sprintf() does limited coercion of its arguments. sprintf() accepts vector arguments and operates on them in parallel (after re-cycling if needed). -文字ベクトルを指定幅にトリミングする関数 strtrim() が追加されました。これは、マルチバイト文字セットでの倍幅文字に対しても指定できます。 -subset() が行列に対するメソッドを持つようになりました。 // o subset() now has a method for matrices, similar to that for // data frames. -summaryRprof() のアルゴリズムが高速化されました。 -sunflowerplot() が新しい引数 'col' と 'bg' を持つことになりました。 -sys.function() が、引数 'which' を持つことになりました(かなり以前からヘルプページで予言されていました)。 o Sys.setlocale("LC_ALL", ) now only sets the locale categories which R uses, and Sys.setlocale("LC_NUMERIC", ) now gives a warning (as it can cause R to malfunction). o unclass() is no longer allowed for environments and external pointers (since these cannot be copied and so unclass() was destructive of its argument). You can still change the "class" attribute. o File-name matching is no longer case-insensitive with unz() connections, even on Windows. o New argument 'immediate.' to warning() to send an immediate warning. o New convenience wrappers write.csv() and write.csv2(). o There is a new version for write.table() which is implemented in C. For simple matrices and data frames this is several times faster than before, and uses negligible memory compared to the object size. The old version (which no longer coerces a matrix to a data frame and then back to a matrix) is available for now as write.table0(). -関数 xinch(), yinch(), xyinch() が、'grDevices' パッケージから 'graphics' に移されました。 o Plotmath now allows underline in expressions. (PR#7286, contributed by Uwe Ligges.) o BATCH on Unix no longer sets --gui="none" as the X11 module is only loaded if needed. o The X11 module (and the hence X11(), jpeg() and png() devices and the X-based dataentry editor) is now in principle available under all Unix GUIs except --gui="none", and this is reflected in capabilities(). capabilities("X11") determines if an X server can be accessed, and so is more likely to be accurate. o Printing of arrays now honours the 'right' argument if there are more than two dimensions. o Tabular printing of numbers now has headers right-justified, as they were prior to version 1.7.0 (spotted by Rob Baer). -遅延ロードするデータベースが、最初に使用されるときにメモリにキャッシュされるようになりました。これにより、USB フラッシュメモリのような、読み書きの遅いファイルシステムにおいて、より高速に R を起動できるようになります。 これにより、標準メモリ使用量が(2Mb 未満ですが)増加しています。 o The implicit class structure for numeric vectors has been changed, so that integer/real vectors try first methods for class "integer"/"double" and then those for class "numeric". The implicit classes for matrices and arrays have been changed to be "matrix"/"array" followed by the class(es) of the underlying vector. o splines::splineDesign() now allows the evaluation of a B-spline basis everywhere instead of just inside the "inner" knots, by setting the new argument `outer.ok = TRUE'. -ハッシュが以前の半分しかメモリを使用しないようになりました。 o Readline is not used for tilde expansion when R is run with --no-readline, nor from embedded applications. Then "~name" is no longer expanded, but "~" still is. -正規表現が glibc 2.3.3 ベースになりました。POSIX により厳密に従うため、{ } + * といったメタ文字は、以前は不要だったエスケープが必要となるでしょう。 // o The regular expression code is now based on that in glibc 2.3.3. // It has stricter conformance to POSIX, so metachars such as // { } + * may need to be escaped where before they did not // (but could have been). o New encoding 'TeXtext.enc' improves the way postscript() works with Computer Modern fonts. o Replacement in a non-existent column of a data frame tries harder to create a column of the correct length and so avoid a corrupt data frame. o For Windows and readline-based history, the saved file size is re-read from R_HISTSIZE immediately before saving. o Collected warnings during start-up are now printed before the initial prompt rather than after the first command. o Changes to package 'grid': - preDrawDetails(), drawDetails(), and postDrawDetails() methods are now recorded on the graphics engine display list. This means that calculations within these methods are now run when a device is resized or when output is copied from one device to another. - Fixed bug in grid.text() when 'rot' argument has length 0. (privately reported by Emmanuel Paradis) - New getNames() function to return just the names of all top-level grobs on the display list. - Recording on the grid display list is turned off within preDrawDetails(), drawDetails(), and postDrawDetails() methods. - Grid should recover better from errors or user-interrupts during drawing (i.e., not leave you in a strange viewport or with strange graphical parameter settings). - New function grid.refresh() to redraw the grid display list. - New function grid.record() to capture calculations with grid graphics output. - grobWidth and grobHeight ("grobwidth" and "grobheight" units) for primitives (text, rects, etc, ...) are now calculated based on a bounding box for the relevant grob. NOTE: this has changed the calculation of the size of a scalar rect (or circle or lines). - New arguments 'warn' and 'wrap' for function grid.grab() - New function grid.grabExpr() which captures the output from an expression (i.e., not from the current scene) without doing any drawing (i.e., no impact on the current scene). - upViewport() now (invisibly) returns the path that it goes up (suggested by Ross Ihaka). - The 'gamma' gpar has been deprecated (this is a device property not a property of graphical objects; suggested by Ross Ihaka). - New 'lex' gpar; a line width multiplier. - grid.text() now handles any language object as mathematical annotation (instead of just expressions). - plotViewport() has default value for 'margins' argument (that match the default value for par(mar)). - The 'extension' argument to dataViewport() can now be vector, in which case the first value is used to extend the xscale and the second value is used to extend the y scale. (suggested by Ross Ihaka). - All 'just' arguments (for viewports, layouts, rectangles, text) can now be numeric values (typically between 0 [left] and 1 [right]) as well as character values ("left", "right", ...). For rectangles and text, there are additional 'hjust' and 'vjust' arguments which allow numeric vectors of justification in each direction (e.g., so that several pieces of text can have different justifications). (suggested by Ross Ihaka) - New 'edits' argument for grid.xaxis() and grid.yaxis() to allow specification of on-the-fly edits to axis children. - applyEdit(x, edit) returns x if target of edit (i.e., child specified by a gPath) cannot be found. - Fix for calculation of length of max/min/sum unit. Length is now (correctly) reported as 1 (was reported as length of first arg). - Viewport names can now be any string (they used to have to be a valid R symbol). - The 'label' argument for grid.xaxis() and grid.yaxis() can now also be a language object or string vector, in which case it specifies custom labels for the tick marks. *国際化 -Unix系OSでは、オプション --enable-mbcs (既定)でコンフィギュアすると、OS がサポートすれば UTF-8 や他の多バイト長ロケールで使用できる。[X11モヂュールのフォント処理の変更は中間栄治氏の日本語化パッチに基づく。]~ Windows版では、可能な場合には、ロケールに「東アジア」が使用できるようになりました。~ マニュアル 'Installation and Administration' の 'Internationalization' を参照してください。 o New command-line flag --encoding to specify the encoding to be assumed for stdin (but not for a console). -新しい関数 iconv() は、これをサポートする OS 上で、文字ベクトルを encoding 間で変換します。 capabilities("iconv") を参照してください。 o The meaning of 'encoding' for a connection has changed: it now allows any charset encoding supported by iconv on the platform, and can re-encode output as well as input. As the new specification is a character string and the old was numeric, this should not cause incorrect operation. -新しい関数 localeToCharset() は、ロケール名から encoding(s) を発見・推定します。 o nchar() returns the true number of bytes stored (including any embedded nuls), this being 2 for missing values. It has an optional argument 'type' with possible non-default values "chars" and "width" to give the number of characters or the display width in columns. o Characters can be entered in hexadecimal as e.g. \x9c, and in UTF-8 and other multibyte locales as \uxxxx, \u{xxxx}, \Uxxxxxxxx or \U{xxxxxxxx}. Non-printable Unicode characters are displayed C-style as \uxxxx or \Uxxxxxxxx. o LC_MONETARY is set to the locale, which affects the result of Sys.localeconv(), but nothing else in R itself. (It could affect add-on packages.) o source() now has an 'encoding' argument which can be used to make it try out various possible encodings. This is made use of by example() which will convert (non-UTF-8) Latin-1 example files in a UTF-8 locale. -read/writeChar() が、バイト単位ではなく文字単位で動作するようになりました。 -.C() が、re-encoding をOSがサポートしている場合に、 ENCODING= 引数を受け付けるようになりました。 'Writing R Extensions' を参照してください。 o delimMatch (tools) now reports match positions and lengths in units of characters, not bytes. The delimiters can be strings, not just single ASCII characters. o .Rd files can indicate via a \encoding{} argument the encoding that should be assumed for non-ASCII characters they contain. o Phrases in .Rd files can be marked by \enc{}{} to show a transliteration to ASCII for use in e.g. text help. o The use of 'pch' in points() now allows for multi-byte character sets: in such a locale a glyph can either be specified as a multi-byte single character or as a number, the Unicode point. o New function l10n_info() reports on aspects of the locale/charset currently in use. o scan() is now aware of double-byte locales such as Shift-JIS in which ASCII characters can occur as the second ('trail') byte. -関数 sQuote() と dQuote() は、UTF-8 ロケールの場合に、指向性のあるクォートを使用します。 o The infrastructure is now in place for C-level error and warning messages to be translated and used on systems with Native Language Support. This has been used for the startup message in English and to translate Americanisms such as 'color' into English: translations to several other languages are under way, and some are included in this release. See 'Writing R Extensions' for how to make use of this in a package: all the standard packages have been set up to do translation, and the 'language' 'en at quot' is implemented to allow Unicode directional quotes in a UTF-8 locale. o R-level stop(), warning() and message() messages can be translated, as can other messages via the new function gettext(). Tools xgettext() and xgettext2pot() are provided in package tools to help manage error messages. gettextf() is a new wrapper to call sprintf() using gettext() on the format string. o Function ngettext() allows the management of singular and plural forms of messages. *ユーティリティ o New functions mirror2html() and checkCRAN(). -R CMD check に、オプション '--use-valgrind' が追加されました。 o R CMD check now checks that Fortran and C++ files have LF line endings, as well as C files. It also checks Makevars[.in] files for portable compilation flags. o R CMD check will now work on a source tarball and prints out information about the version of R and the package. o tools:::.install_package_code_files() (used to collate R files when installing packages) ensures files are separated by a line feed. o vignette() now returns an object of class "vignette" whose print() method opens the corresponding PDF file. The edit() method can be used to open the code of the vignette in an editor. o R CMD INSTALL on Unix has a new option '--build' matching that on Windows, to package as tarball the installed package. o R CMD INSTALL on Unix can now install binary bundles. o R CMD build now changes src files to LF line endings if necessary. o R CMD build now behaves consistently between source and binary builds: in each case it prepares a source directory and then either packages that directory as a tarball or calls R CMD INSTALL --build on the prepared sources. This means that R CMD build --binary now respects .Rbuildignore and will rebuild vignettes (unless the option --no-vignettes is used). For the latter, it now installs the current sources into a temporary library and uses that version of the package/bundle to rebuild the vignettes. o R CMD build now reports empty directories in the source tree. o New function write_PACKAGES() in package 'tools' to help with preparing local package repositories. (Based on a contribution by Uwe Ligges.) How to prepare such repositories is documented in the 'R Installation and Administration' manual. o package.skeleton() adds a bit more to DESCRIPTION. o Sweave changes: - \usepackage[nogin]{Sweave} in the header of an Sweave file supresses auto-setting of the graphical parameter like width of graphics. - The new \SweaveInput{} command works similar to LaTeX's \input{} command. - Option value strip.white=all strips all blank lines from the output of a code chunk. - Code chunks with eval=false are commented out by Stangle() and hence no longer tested by R CMD check. *文章 o File doc/html/faq.html no longer exists, and doc/manual/R-FAQ.html (which has active links to other manuals) is used instead. (If makeinfo >= 4.7 is not available, the version on CRAN is linked to.) o Manual 'Writing R Extensions' has further details on writing new front-ends for R using the new public header files. o There are no longer any restrictions on characters in the \name{} field of a .Rd file: in particular _ is supported. *Cーレベル機能 o There are new public C/C++ header files Rinterface.h and R_ext/RStartup.h for use with external GUIs. o Added an onExit() function to graphics devices, to be executed upon user break if non-NULL. o ISNAN now works even in C++ code that undefines the 'isnan' macro. -R_alloc の64ビットシステムにおける限界が、2^31バイト(2GB)から、2^34(16GB)に引き上げられました。そして、チェックも行われます。 o New math utility functions log1pmx(x), lgamma1p(x), logspace_add(logx, logy), and logspace_sub(logx, logy). *廃止および廃止予定 o The aqua module for MacOS X has been removed: --with-aqua now refers to the unbundled Cocoa GUI. -capability の "bzip2", "GNOME", "libz", "PCRE" は、廃止されました。 o The undocumented use of UseMethod() with no argument was deprecated in 2.0.1 and is now regarded as an error. -capability の "IEEE754" は、廃止されます。 o The 'CRAN' argument to update.packages(), old.packages(), new.packages(), download.packages() and install.packages() is deprecated in favour of 'repos', which replaces it as a positional argument (so this is only relevant for calls with named args). o The S3 methods for getting and setting names of "dist" objects have been removed (as they provided names with a different length from the "dist" object itself). o Option "repositories" is no longer used and so not set. -loadURL() は load(url()) の方が好ましいので、廃止されます。 -delay() は廃止されます。代わりに delayedAssign() を使って下さい。 *インストール法の変更 -configure に、UTF-8 ロケールを有効にするためのオプション --enable-utf8 が追加されました。標準で on になっています。 -R_XTRA_[CF]FLAGS は、configure テストで使用されます。また、 --enable-R-shlib が設定されたときは [CF]PICFLAGS も用いられます。これにより、コンパイル時のフラグがそれらをサポートすると設定しているときに限り、インラインのような機能が使用されることを保証します。 (PR#7257) // o R_XTRA_[CF]FLAGS are now used during the configuration tests, // and [CF]PICFLAGS if --enable-R-shlib was specified. This // ensures that features such as inlining are only used if the // compilation flags specified support them. (PR#7257) -FAQ, RESOURCES, doc/html/resources.html がいずれのうちに SVN ソースからなくなります。これらを必要とする場合は、 'make dist' を行ってください。 // o Files FAQ, RESOURCES, doc/html/resources.html are no longer in // the SVN sources but are made by 'make dist'. -GNOME GUI はバンドルされなくなり、CRAN のパッケージとして提供されるようになりました。 -推奨パッケージが無い状態で configure を行うと、エラーとするようになりました。不要な場合は --with-recommended-packages=no (あるいは等価な指定)を使ってください。 // o Configuring without having the recommended packages is now an // error unless --with-recommended-packages=no (or equivalent) is used. -X11 のヘッダファイルとライブラリが無い状態で configure を行うと、エラーとするようになりました。不要な場合は --with-x=no (あるいは等価な指定)を使ってください。 o Configure tries harder to find a minimal set of FLIBS. Under some circumstances this may remove from R_LD_LIBRARY_PATH path elements that ought to have specified in LDFLAGS (but were not). -グラフィックスデバイスドライバとそれらの afm ファイルの多くの C コードが、パッケージ grDevices に含まれるようになりました。 -readline の指定(デフォルトで yes)を行い、かつ必要であるときに限り、ncurses/termlib/termcap のリンクが行なわれるようになりました。 // o R is now linked against ncurses/termlib/termcap only if // readline is specified (now the default) and that requires it. -HTML形式およびInfo形式のマニュアルを構築するためには、Makeinfo 4.7以降が必要です。 *パッケージのインストール法の変更 -新しい種類のパッケージが登場しました。これらは、 DESCRIPTION ファイルの Type フィールドによって判別されます。 たとえば、GNOME コンソールは、(CRAN にて)別個のパッケージになりました。また、翻訳もパッケージとして提供されます。 -MacOS X と Windows において、ソースとバイナリ両者のパッケージのインストールがサポートされるようになりました。 大抵の R 関数は、getOption("pkgType") と "source", "win.binary", "mac.binary" のどれかの値にしたがってデフォルトとなる 'type' 引数を持つようになりました。 Windows や CRAN GUI でビルドされた MacOS X 環境を除き、デフォルトは "source" です。 // o There is now support of installing from within R both source and // binary packages on MacOS X and Windows. Most of the R // functions now have a 'type' argument defaulting to // getOption("pkgType") and with possible values "source", // "win.binary" and "mac.binary". The default is "source" except // under Windows and the CRAN GUI build for MacOS X. o install.packages() and friends now accept a vector of URLs for 'repos' or 'contriburl' and get the newest available version of a package from the first repository on the list in which it is found. The argument 'CRAN' is still accepted, but deprecated. install.packages() on Unix can now install from local .tar.gz files via repos = NULL (as has long been done on Windows). install.packages() no longer asks if downloaded packages should be deleted: they will be deleted at the end of the session anyway (and can be deleted by the user at any time). If the repository provides the information, install.packages() will now accept the name of a package in a bundle. If 'pkgs' is omitted install.packages() will use a listbox to display the available packages, on suitable systems. 'dependencies' can be a character vector to allow only some levels of dependencies (e.g. not "Suggests") to be requested. o There is a new possible value update.packages(ask="graphics") that uses a widget to (de)select packages, on suitable systems. o The option used is now getOption("repos") not getOption("CRAN") and it is initially set to a dummy value. Its value can be a character vector (preferably named) giving one or several repositories. A new function chooseCRANmirror() will select a CRAN mirror. This is called automatically if the contrib.url() encounters the initial dummy value of getOption("repos") A new function setRepositories() can be used to create getOption("repos") from a (platform-specific) list of known repositories. o New function new.packages() to report uninstalled packages available at the requested repositories. This also reports incomplete bundles. It will optionally install new packages. o New function available.packages(), similar to CRAN.packages() but for use with multiple repositories. Both now only report packages whose R version requirements are met. o update.packages() and old.packages() have a new option 'checkBuilt' to allow packages installed under earlier versions of R to be updated. o remove.packages() can now remove bundles. o The Contains: field of the DESCRIPTION file of package bundles is now installed, so later checks can find out if the bundle is complete. o packageStatus() is now built on top of *.packages, and gains a 'method' argument. It defaults to the same repositories as the other tools, those specified by getOption("repos"). *バグ修正 o Configuring for Tcl/Tk makes use of ${TK_LIB_SPEC} ${TK_LIBS} not ${TK_LIB_SPEC} ${TK_XLIBSW}, which is correct for recent versions of Tk, but conceivably not for old tkConfig.sh files. o detach() was not recomputing the S4 methods for primitives correctly. o Methods package now has class "expression" partly fixed in basic classes, so S4 classes can extend these (but "expression" is pretty broken as a vector class in R). o Collected warnings had messages with unneeded trailing space. o S4 methods for primitive functions must be exported from namespaces; this is now done automatically. Note that is.primitive() is now in "base", not "methods". o Package grid: - Fixed bug in grid.text() when "rot" argument has length 0. (reported by Emmanuel Paradis) o .install_package_vignette_index() created an index even in an empty 'doc' directory. o The print() method for factors now escapes characters in the levels in the same way as they are printed. o str() removed any class from environment objects. str() no longer interprets control characters in character strings and factor levels; also no longer truncates factor levels unless they are longer than 'nchar.max'. Truncation of such long strings is now indicated ''outside'' the string. str(<S4.object>) was misleading for the case of a single slot. str() now also properly displays S4 class definitions (such as returned by getClass(). o print.factor(quote=TRUE) was not quoting levels, causing ambiguity when the levels contained spaces or quotes. o R CMD check was confused by a trailing / on a package name. o write.table() was writing incorrect column names if the data frame contained any matrix-like columns. o write.table() was not quoting row names for a 0-column x. o t(x)'s default method now also preserves names(dimnames(x)) for 1D arrays 'x'. o r <- a %*% b no longer produces names(dimnames(r)) == c("", "") unless one of a or b has named dimnames. o Some .Internal functions that were supposed to return invisibly did not. This was behind PR#7397 and PR#7466. o eval(expr, NULL, encl) now looks up variables in encl, as eval(expr, list(), encl) always did o Coercing as.data.frame(NULL) to a pairlist caused an error. o p.adjust(p, ..) now correctly works when `p' contains NAs (or when it is of length 0 or length 2 for method = "hommel"). o 'methods' initialization was calling a function intended for .Call() with .C(). o optim() needed a check that the objective function returns a value of length 1 (spotted by Ben Bolker). o X11() was only scaling its fonts to pointsize if the dpi was within 0.5 of 100dpi. o X11() font selection was looking for any symbol font, and sometimes got e.g. bold italic if the server has such a font. o dpois(*, lambda=Inf) now returns 0 (or -Inf for log). o Using pch="" gave a square (pch=0)! Now it is regarded as the same as NA, which was also undocumented but omits the point. o Base graphics now notices (ab)lines which have a zero coordinate on log scale, and omits them. (PR#7559) o stop() and warning() now accept NULL as they are documented to do (although this seems of little use and is equivalent to ""). o weighted.mean() now checks the length of the weight vector w. o getAnywhere() was confused by names with leading or trailing dots (spotted by Robert McGehee) o eval() was not handling values from return() correctly. o par(omd) is now of the form c(x1, x2, y1, y2) to match the documentation and for S-PLUS compatibility. [Previously, par(omd) was of the form c(bottom, left, top, right) like par(oma) and par(omi)] o formatC() did not check its 'flag' argument, and could segfault if it was incorrect. (PR#7686) o Contrasts needed to be coerced to numeric (e.g. from integer) inside model.matrix. (PR#7695) o socketSelect() did not check for buffered input. o Reads on a non-blocking socket with no available data were not handled properly and could result in a segfault. o The "aovlist" method for se.contrast() failed in some very simple cases that were effectively not multistratum designs, e.g. only one treatment occurring in only one stratum. o pgamma() uses completely re-written algorithms, and should work for all (even very extreme) arguments; this is based on Morten Welinder's contribution related to PR#7307. -dpois(10, 2e-308, log=TRUE) や類似した場合に、 -Inf を返していた。 o x <- 2^(0:1000); plot(x, x^.9, type="l", log="xy")# and x <- 2^-(1070:170); plot(x, x^.9, type="l", log="xy")# now both work o summary.lm() asked for a report on a reasonable occurrence, but the check failed to take account of NAs. o lm() was miscalculating 'df.residual' for empty models with a matrix response. o summary.lm() now behaves more sensibly for empty models. o plot.window() was using the wrong sign when adjusting xlim/ylim for positive 'asp' and a reversed axis. o If malloc() fails when allocating a large object the allocator now does a gc and tries the malloc() again. o packageSlot() and getGroupMembers() are now exported from the 'methods' package as they should from documentation and the Green Book. o rhyper() was giving numbers slightly too small, due to a bug in the original algorithm. (PR#7314) -gsub() が、文字列中に ^ を含む場合に、ときどき間違ったマッチングを行っていた。 たとえば、 gsub("^12", "x", "1212") が "xx" となっていた。 o [g]sub(perl = TRUE) was giving random results for a 0-length initial match. (PR#7742) o [g]sub was ignoring most 0-length matches, including all initial ones. Note that substitutions such as gsub("[[:space:]]*", " ", ...) now work as they do in 'sed' (whereas the effect was previously the same as gsub("[[:space:]]+", " ", ...)). (In part PR#7742) o Promises are now evaluated when extracted from an environment using '$' or '[[ ]]'. o reshape(direction="wide") had some sorting problems when guessing time points (PR#7669) o par() set 'xaxp' before 'xlog' and 'yaxp' before 'ylog', causing PR#831. o The logic in tclRequire() to check the availability of a Tcl package turned out to be fallible. It now uses a try()-and-see mechanism instead. o Opening a unz() connection on a non-existent file left a file handle in use. o "dist" objects of length 0 failed to print. o INSTALL and the libR try harder to find a temporary directory (since there might be one left over with the same PID). o acf() could cause a segfault with some datasets. (PR#7771) -tan(1+LARGEi) が 0+NaNi ではなく、0+1i を返すようになりました (PR#7781) o summary(data.frame(mat = I(matrix(1:8, 4)))) does not go into infinite recursion anymore. o writeBin() performed byte-swapping incorrectly on complex vectors, also swapping real and imaginary parts. (PR#7778) o read.table() sometimes discarded as blank lines containing only white space, even if sep=",".
テキスト整形のルールを表示する