R1.9.0の新機能・変更
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
SIZE(15){COLOR(magenta){R 1.9.0 の新機能・変更点}}
//間瀬 (2004.4.12)
R の新バージョンが公開されました。結構大がかりな変更があ...
~
MS Windows 版 R 固有の変更点も r-help 記事より付け加えま...
#contents
~
*ユーザーの目に見える変更
-COLOR(blue){アンダースコア '_' がオブジェクト名に使える...
-COLOR(blue){パッケージ 'base' がパッケージ 'base', 'grap...
-COLOR(blue){パッケージ ctest, eda, modreg, mva, nls, ste...
-パッケージ mle は stats4 にうつされた。stats4 は統計的な...
-ユーザーは .Profile 中のコードが新しくロードされたベース...
-R セッションの起動を早くするために一致協力した努力がなさ...
-現在のところ R は一バイト文字コードしかサポートしていな...
*新しい機能
- 演算子 $, $<-, [[, [[<- を環境に対して適用できる。文字...
-"acf" オブジェクトに対する新しい print() と [ メソッド。
- aov() は今や特異な Error() モデルを扱うが、警告がでる。
- arima() は当てはめられるべき自由パラメータが皆無のモデ...
- S との互換性のため、array() と matrix() は長さ零の `dat...
- as.data.frame() は配列に対するメソッドを持つようになっ...
- as.matrix.data.frame() はすべてが論理値からなるデータフ...
- fixInNamespace を並列化した新しい関数 assignInNamespace...
- 等高線を生成する(しかし何も描かない)新しい関数 contourL...
- D(), deriv(), 等は asin(), acos(), atan() も微分する (K...
-- data() 関数に対する `package' 引数はもはや (引用符無し...
- (時間を含まない)日にち用の新しいクラスと、date-times に...
- 整数ベクトルのディパース (dump() と dput() を使用したも...
- .Deprecated() は新しい引数 `package' を持ち、base パッ...
- "difftime" オブジェクトに対する print() メソッドは今や...
- dir.create() はいまや Unix でも Windows でも内部関数(mk...
- dist() は今やミンコウスキ距離を計算する新しいメソッドを...
- expand.grid() は属性 "out.attrs" 中に適当な配列次元と次...
- factanal(), loess() そして princomp() は今や厳密に数値...
- gamma(x+1) と定義される新しい関数 factorial(x) が登場。...
- findInterval(x, v) は今や x 中に ±Inf 値や NAs を許す。
- formula.default() は今や保存された呼出し中の 'formula" ...
- glm() の引数 `etastart' と `mustart' は今や `subset' や...
- 関数 grep(), regexpr(), sub() そして gsub() は今やその...
- perl=TRUE 引数は今や、それが使われる際に使用されている...
- パッケージ `utils' 中の新しい関数 head() と tail() (Pat...
- legend() は新しい引数 'text.col' を持つ。
- methods(class=) は今やマッッチング用のジェネリックをチ...
- 新しい関数 mget() は環境から複数の値を回収する。
- model.frame() メッソッド、例えば "lm" や "glm" 用のそれ...
- nls() や ppr() は、当てはめオブジェクトの一部としてモデ...
- "POSIXct" オブジェクトは "tzone" 属性をもつことができ、...
- postscript() デバイスは 8.11 版以降の gs における低精度...
- ppr() はカテゴリカルな説明変数を完全にサポートする。ppr...
- princomp() は x と covmat の双方が与えられると警告し、...
-digamma() 等を一般化する新しい関数。これらのすべての関数...
-pchisq(*, ncp > 0) したがって qchisq() は ncp が現在より...
-read.table() は引用符つきの欄中に埋め込まれた改行を許す...
-rep.default(0-length-vector, length.out=n) は長さ 0 でな...
ベクトルを返す(S との互換性のため)。もし each と length.o...
S との互換性のため、NA で埋めるのではなく、りサイクルされ...
NA で埋めるのではなく、りサイクルされる。rep() に対する "...
-新しい関数 rgb2hsv() は同じ名前の C の API 関数への R の...
-User hooks can be set for onLoad, library, detach and
onUnload of packages/namespaces: see ?setHook.
-save() default arguments can now be set using option
"save.defaults", which is also used by save.image() if o...
"save.image.defaults" is not present.
-OS シェルへ渡される文字列をクォートするための新しい関数 ...
-sink() 関数は、sink と 現在の出力コネクションの双方に出...
-split.screen() は複数のデバイスへ同時に機能する
-On some OSes (including Windows and those using glibc)
strptime() did not validate dates correctly, so we have ...
extra code to do so. However, this cannot correct scann...
errors in the OS's strptime (although we have been able to
work around these on Windows). Some examples are now tes...
during configuration.
-strsplit() now has `fixed' and `perl' arguments and
split="" is optimized.
-subset() now allows a `drop' argument to remove unused f...
levels. The default is still to keep them.
-termplot() has an option to smooth the partial residuals.
-varimax() and promax() add class "loadings" to their loa...
component.
-Model fits now add a "dataClasses" attribute to the term...
can be used to check that the variables supplied for
prediction are of the same type as those used for fitting.
(It is currently used by predict() methods for classes "...
"mlm", "glm" and "ppr", as well as methods in packages M...
rpart and tree.)
-New command-line argument --max-ppsize allows the size o...
pointer protection stack to be set higher than the previ...
limit of 10000.
-The fonts on an X11() device (also jpeg() and png() on U...
can be specified by a new argument `fonts' defaulting to...
value of a new option "X11fonts".
-New functions in the tools package: pkgDepends, getDepLi...
installFoundDepends. These provide functionality for as...
dependencies and the availability of them (either locall...
from on-line repositories).
-The parsed contents of a NAMESPACE file are now stored at
installation and if available used to speed loading the
package, so packages with namespaces should be reinstall...
-Argument `asp' although not a graphics parameter is acce...
in the ... of graphics functions without a warning. It ...
works as expected in contour().
- パッケージ stats4 は AIC() と BIC() に対する S4 メソッ...
-The Mac OS X version now produces an R framework for eas...
of R into other programs. As a result, R.app is now rel...
-Added experimental support for conditionals in NAMESPACE...
-Added as.list.environment to coerce environments to lists
(efficiently).
- stats 中の新しい関数 addmargins() は表に周辺要約(例えば...
-dendrogam edge and node labels can now be expressions (t...
plotted via stats:::plotNode called from plot.dendrogram).
The diamond frames around edge labels are more nicely sc...
horizontally.
-Methods defined in the methods package can now include
default expressions for arguments. If these arguments are
missing in the call, the defaults in the selected method...
override a default in the generic. See ?setMethod.
-Changes to package 'grid':
--- Renamed push/pop.viewport() to push/popViewport().
--- Added upViewport(), downViewport(), and seekViewport...
allow creation and navigation of viewport tree
(rather than just viewport stack).
--- Added id and id.lengths arguments to grid.polygon() ...
multiple polygons within single grid.polygon() call.
--- Added vpList(), vpStack(), vpTree(), and current.vpT...
to allow creation of viewport "bundles" that may be pu...
at once (lists are pushed in parallel, stacks in serie...
current.vpTree() returns the current viewport tree.
--- Added vpPath() to allow specification of viewport path
in downViewport() and seekViewport().
See ?viewports for an example of its use.
NOTE: it is also possible to specify a path directly,
e.g., something like "vp1::vp2", but this is only
advised for interactive use (in case I decide to chang...
separator :: in later versions).
--- Added "just" argument to grid.layout() to allow just...
of layout relative to parent viewport *IF* the layout ...
the same size as the viewport. There's an example in
help(grid.layout).
--- Allowed the "vp" slot in a grob to be a viewport nam...
vpPath. The interpretation of these new alternatives ...
call downViewport() with the name or vpPath before dra...
grob and upViewport() the appropriate amount after dra...
grob. Here's an example of the possible usage:
pushViewport(viewport(w=.5, h=.5, name="A"))
grid.rect()
pushViewport(viewport(w=.5, h=.5, name="B"))
grid.rect(gp=gpar(col="grey"))
upViewport(2)
grid.rect(vp="A", gp=gpar(fill="red"))
grid.rect(vp=vpPath("A", "B"), gp=gpar(fill="blue"))
--- Added engine.display.list() function.
This allows the user to
tell grid NOT to use the graphics engine display list ...
ALL redraws using its own display list (including redr...
device resizes and copies).
This provides a way to avoid some of the problems with...
a device when you have used grid.convert(), or the gri...
or even base functions such as legend().
There is a document discussing the use of display list...
on the grid web site
(http://www.stat.auckland.ac.nz/~paul/grid/grid.html)
--- Changed the implementation of grob objects. They ar...
implemented as external references. They are now regu...
which copy-by-value. This means that they can be saved...
like normal R objects. In order to retain some existi...
behaviour, the following changes were necessary:
+ grobs all now have a "name" slot. The grob name is ...
uniquely identify a "drawn" grob (i.e., a grob on th...
list).
+ grid.edit() and grid.pack() now take a grob name as ...
argument instead of a grob. (Actually, they take a ...
see below)
+ the "grobwidth" and "grobheight" units take either a...
OR a grob name (actually a gPath - see below). Only...
latter case will the unit be updated if the grob "po...
is modified.
In addition, the following features are now possible w...
+ grobs now save()/load() like any normal R object.
+ many grid.*() functions now have a *Grob() counterpa...
grid.*() version is used for its side-effect of draw...
something or modifying something which has been draw...
*Grob() version is used for its return value, which ...
This makes it more convenient to just work with grob
objects without producing any graphical output
(by using the *Grob() functions).
+ there is a gTree object (derived from grob), which i...
that can have children. A gTree also has a "childre...
which is a viewport which is pushed and then "up"ed ...
children are drawn; this allows the children of a g...
place themselves somewhere in the viewports specifie...
childrenvp by having a vpPath in their vp slot.
+ there is a gPath object, which is essentially a conc...
of grob names. This is used to specify the child of
(a child of ...) a gTree.
+ there is a new API for creating/accessing/modifying ...
grid.add(), grid.remove(), grid.edit(), grid.get() (...
*Grob() counterparts can be used to add, remove, edi...
a grob or the child of a gTree. NOTE: the new grid....
is incompatible with the previous version.
--- Added stringWidth(), stringHeight(), grobWidth(), an...
convenience functions (they produce "strwidth", "strhe...
"grobwidth", and "grobheight" unit objects, respective...
--- Allowed viewports to turn off clipping altogether.
Possible settings for viewport clip arg are now:
"on" = clip to the viewport (was TRUE)
"inherit" = clip to whatever parent says (was FALSE)
"off" = turn off clipping
Still accept logical values (and NA maps to "off")
*ユーティリティー
--R CMD check now runs the (Rd) examples with default RN...
(uniform & normal) and set.seed(1).
example(*, setRNG = TRUE) does the same.
--undoc() in package `tools' has a new default of `use.va...
NULL' which produces a warning whenever the default valu...
function arguments differ between documentation and code.
Note that this affects "R CMD check" as well.
--Testing examples via massage-examples.pl (as used by R ...
check) now restores the search path after every help file.
--checkS3methods() in package 'tools' now also looks for ...
in the loaded namespaces/packages listed in the Depends ...
of the package's DESCRIPTION file when testing an instal...
package.
--The DESCRIPTION file of packages may contain a 'Suggest...
field for packages that are only used in examples or
vignettes.
--Added an option to package.dependencies() to handle the
'Suggests' levels of dependencies.
--Vignette dependencies can now be checked and obtained via
vignetteDepends.
--Option 'repositories' to list URLs for package reposito...
added.
--package.description() has been replaced by packageDescr...
--R CMD INSTALL/build now skip Subversion's .svn director...
well as CVS directories.
*C-レベルの機能
--arraySubscript and vectorSubscript take a new argument ...
is a function pointer that provides access to character
strings (such as the names vector) rather than assuming ...
are passed in.
--R_CheckUserInterrupt is now described in `Writing R Ext...
and there is a new equivalent subroutine rchkusr for cal...
from FORTRAN code.
--hsv2rgb and rgb2hsv are newly in the C API.
--Salloc and Srealloc are provided in S.h as wrappers for...
and S_realloc, since current S versions use these forms.
--The type used for vector lengths is now R_len_t rather ...
int, to allow for a future change.
--The internal header nmath/dpq.h has slightly improved m...
R_DT_val() and R_DT_Cval(), a new R_D_LExp() and improved
R_DT_log() and R_DT_Clog(); this improves accuracy in s...
[dpq]-functions {for "extreme" arguments}.
*削除された機能
--print.coefmat() is defunct, replaced by printCoefmat().
--codes() and codes<-() are defunct.
--anovalist.lm (replaced in 1.2.0) is now defunct.
--glm.fit.null(), lm.fit.null() and lm.wfit.null() are de...
--print.atomic() is defunct.
--The command-line arguments --nsize and --vsize are no l...
recognized as synonyms for --min-nsize and --min-vsize (...
replaced them in 1.2.0).
--Unnecessary methods coef.{g}lm and fitted.{g}lm have been
removed: they were each identical to the default method.
--La.eigen() is deprecated now eigen() uses LAPACK by def...
--tetragamma() and pentagamma() are deprecated, since the...
equivalent to psigamma(, deriv=2) and psigamma(, deriv=3).
--LTRUE/LFALSE in Rmath.h have been removed: they were
deprecated in 1.2.0.
--package.contents() has been deprecated.
*インストール法の変更
--The defaults for configure are now --without-zlib
--without-bzlib --without-pcre.
--The included PCRE sources have been updated to version ...
PCRE >= 4.0 is now required if --with-pcre is used.
The included zlib sources have been updated to 1.2.1, an...
is now required if --with-zlib is used.
--configure no longer lists bzip2 and PCRE as `additional
capabilities' as all builds of R have had them since 1.7...
--COLOR(red){--with-blas=goto} to use K. Goto's optimized...
*バグフィックス
o When lm.{w}fit() disregarded arguments in ... they ...
the values and not the names.
o lm(singular.ok = FALSE) was looking for 0 rank, not...
o The substitution code for strptime in the sources n...
follows glibc in silently `correcting' invalid inputs.
-The cor() function did not remove missing values in the ...
cor() 関数において,ピアソンの積率相関係数以外の場合(す...
1.8.1 では,
> x <- 1:5
> y <- c(1,3,2,NA,5)
> cor(x, y, method="kendall")
[1] 0.6 バグ
> cor(c(1,2,3,5), c(1,3,2,5), method="kendall")
[1] 0.6666667 正しい値
1.9.0 では,以下のようになるということ
> x <- 1:5
> y <- c(1,3,2,NA,5)
> cor(x, y, method="kendall")
Error in cor(x, y, method = "kendall") : missing observa...
> cor(x, y, method="kendall", use="complete.obs")
[1] 0.6666667
-[l]choose() use a more accurate formula which also sligh...
choose(), lchoose() は,より正確な計算公式を使うようにな...
> choose(10,-1)
[1] 0
> choose(10,20)
[1] 0
o find(simple.words=TRUE) (the default) was still usi...
expressions for e.g. "+" and "*". Also, it checked the ...
only of the first object matching a regular expression f...
in a package.
o Memory leaks in [dpq]wilcox and [dqr]signrank have ...
These only occurred when multiple values of m or n > 50 ...
used in a single call. (PR#5314, plus another potential ...
o Non-finite input values to eigen(), La.eigen(), svd...
La.svd() are now errors: they often caused infinite
looping. (PR#5406, PR#4366, PR#3723: the fix for 3723/4...
returned a vector of NAs, not a matrix, for the eigenvec...
o stepfun(x,y) now gives an error when `x' has length...
of an invalid result (that could lead to a segmentation
fault).
o buildVignettes() uses file.remove() instead of unli...
remove temporary files.
o methods(class = "lqs") does not produce extraneous ...
o Directly calling a method that uses NextMethod() no...
produces the erroneous error message 'function is not a
closure'.
//-chisq.test(x, simulate.p.value = TRUE) could hang in a...
- chisq.test(x, simulate.p.value = TRUE) で,x が大きいと...
//-fisher.test(x) could give a P-value of 'Inf' in simila...
-fisher.test(x) において, P 値として Inf を返していたよ...
o cutree(a, h=h) silently gave wrong results when 'a'...
agnes object; now gives an error and reminds of as.hclus...
o postscript() could crash if given a font value outs...
valid range 1...5.
o qchisq(1-e, .., ncp=.) did not terminate for small e.
(PR#6421 (PR#875))
o contrasts() turns a logical variable into a factor....
always has levels c("FALSE", "TRUE") even if only one (or
none) of these occur in the variable.
o model.frame()'s lm and glm methods had 'data' and '...
arguments which they ignored and have been removed.
o The defaults data=list() in lm() and glm() could ne...
used and have been removed. glm had na.action=na.fail, ...
never used.
o tools:::.getInternalS3generics() was omitting all t...
of the S3 group generics, which also accept methods for ...
o Some BLASes were returning NA %*% 0 as 0 and some a...
slower but more careful code is used if NAs are present....
o package.skeleton() no longer generates invalid file...
code and help files. Also, care is taken not to generate
filenames that differ only by case.
o pairs() now respects axis graphical parameters such...
cex.main, font.main and las.
o Saving images of packages with namespaces (such as ...
not compressing the image.
o When formula.default() returned a terms object, it ...
result of class c("terms", "formula") with different
subsetting rules from an object of class "formula".
o The standalone Rmath library did not build correctl...
with inaccurate log1p.
o Specifying asp is now respected in calls like plot(...
with zero range on both axes.
o outer() called rep() with an argument the generic d...
have, and discarded the class of the answer.
o object.size() now returns a real (not integer) answ...
can cope with objects occupying more than 2Gb.
o Lookups base:: and ::: were not confining their sea...
named package/namespace.
o qbinom() was returning NaN for prob = 0 or 1 or siz...
though the result is well-defined. (In part, PR#5900.)
o par(mgp)[2] was being interpreted as relative to pa...
(PR#6045)
o Versioned install was broken both with and without ...
no R code was loaded.
o methods(), getS3method() and the registration of S3...
namespaces were broken if the S3 generic was converted i...
S4 generic by setting an S4 method.
o Title and copyright holder of the reference manual ...
sync with the citation() command.
o The validation code for POSIXlt dates and hence
seq(, by="DSTdays") now works for large mday values (not
just those in -1000...1000). (PR#6212)
o The print() method for data frames now copes with d...
containing arrays (other than matrices).
o texi2dvi() and buildVignettes() use clean=FALSE as ...
because the option is not supported on some Solaris
machines. For buildVignettes() this makes no difference ...
uses an internal cleanup mechanism.
o The biplot() method for "prcomp" was not registered...
(PR#6425)
o Latex conversion of .Rd files was missing newline b...
\end{Section} etc which occasionally gave problems, as f...
some other \end{Foo} in 1.8.1. (PR#5645)
o Work around a glibc bug to make the %Z format usabl...
o The glm method for rstandard() was wrongly scaled f...
summary(model)$dispersion != 1.
o Calling princomp() with a covariance matrix (rather...
list) failed to predict scores rather than predict NA as
intended. (PR#6452)
o termplot() is more tolerant of variables not in the...
(PR#6327)
o isoreg() could segfault on monotone input sequences...
o Rdconv detected \link{\url{}} only very slowly. (P...
o aov() with Error() term and no intercept incorrectl...
terms to strata. (PR#6510)
o ftable() incorrectly handled arguments named "x". ...
o vector(), matrix(), array() and their internal equi...
report correctly that the number of elements specified w...
large (rather than reporting it as negative).
o Minor copy-paste error in example(names). (PR#6594)
o length<-() now works correctly on factors (and is n...
with a method for factors).
o x <- 232; x:(x+3) no longer generates an error (but...
result of type "double").
o pgamma(30, 100, lower=FALSE, log=TRUE) is not quite...
pgamma(x, alph) now only uses a normal approximation for
alph > 1e5 instead of alph > 1000. This also improves t...
of ppois().
o qgamma() now does one or more final Newton steps, i...
accuracy from around 2e-8 to 3e-16 in some cases. (PR#2...
It allows values p close to 1 not returning Inf, with ac...
'lower=FALSE', and values close to 0 not returning 0 for
'log=TRUE'. These also apply to qchisq(), e.g.,
qchisq(1e-13, 4, lower=FALSE) is now finite and
qchisq(1e-101, 1) is positive.
o gamma(-n) now gives NaN for all negative integers -n.
o The Unix version of browseURL() now protects the UR...
shell, for example allowing & and $ to occur in the URL.
It was incorrectly attempting to use -remote "openURL()"...
unknown browsers.
o extractAIC.coxph() works around an inconsistency in...
$loglik output from coxph. (PR#6646)
o stem() was running into integer overflows with near...
inputs, and scaling badly for constant ones. (Partly PR...
o system() under Unix was losing the 8095th char if t...
was split. (PR#6624)
o plot.lm() gave incorrect results if there were zero...
(PR#6640)
o Binary operators warned for inconsistent lengths on...
vector operations, but not on vector op matrix ones. (P...
and more.)
Comparison operators did not warn about inconsistent len...
for real vectors, but did for integer, logical and chara...
vectors.
o spec.pgram(x, ..., pad, fast, ...) computed the per...
a bias (downward) whenever 'pad > 0' (non-default) or 'f...
(default) and nextn(n) > n where n = length(x); similarl...
'df' (approximate degrees of freedom for chisq).
o dgamma(0, a) now gives Inf for a < 1 (instead of Na...
so does dchisq(0, 2*a, ncp).
o pcauchy() is now correct in the extreme tails.
o file.copy() did not check that any existing `from' ...
been truncated before appending the new contents.
o The QC files now check that their file operations s...
o replicate() worked by making the supplied expressio...
body of an anonymous function(x), leading to a variable
capture issue. Now, function(...) is used instead.
o chisq.test(simulate.p.value = TRUE) was returning s...
incorrect p values, notably p = 0 when the data gave the...
extreme value.
o terms.formula(simplify = TRUE) was losing offset te...
Multiple offset terms were not being removed correctly i...
of them appeared first or last in the formula. (PR#6656)
o Rd conversion to latex did not add a new line before
\end{Section} in more cases than were corrected in 1.8.1.
o split.default() dropped NA levels in its internal c...
returned them as NA in all components in the interpreted...
for factors. (PR#6672)
o points.formula() had problems if there was a subset...
and no data argument. (PR#6652)
o as.dist() does a bit more checking of its first arg...
warns when applied to non-square matrices.
o mle() gives a more understandable error message whe...
argument is not ok.
o All uses of dir.create() check the return value.
download.packages() checks that destdir exists and is a ...
o Methods dispatch corrects an error that failed to f...
methods for classes that extend sealed classes (class un...
that contain basic classes, e.g.).
o Sweave no longer wraps the output of code chunks with
echo=false and results=tex in Schunk environments.
o termplot() handles models with missing data better,...
with na.action=na.exclude.
o 1:2 * 1e-100 now prints with correct number of spa...
o Negative subscripts that were out of range or NA we...
correctly. Mixing negative and NA subscripts is now cau...
an error: it was not caught on some platforms and segfau...
on others.
o gzfile() connections had trouble at EOF when used o...
file.
o The Unix version of dataentry segfaulted if the `Co...
was used. (PR#6605)
o unlist on lists containing expressions now works (P...
o D(), deriv() and deriv3() now also can deal with ga...
o The X11 module can now be built against XFree86 4.4...
with some warnings).
o seq.POSIXt(from, to, by="DSTdays") was shorter than...
for rare times in the UK time zone. (PR#4558)
o c/rbind() did not support vectors/matrices of mode ...
o summary() methods for POSIX[cl]t and Date classes c...
number of NAs to a date on printing.
o KalmanSmooth would sometimes return NA values with ...
(PR#6738)
o fligner.test() worked correctly only if data were a...
by group levels. (PR#6739)
*MS Windows 固有の変更点
**トピックス
- ウインドウに対する "stay on top" オプション。
- Rcmd は今や Unix と同様に、R CMD 命令を許す
- 出力のコピーされたブロックを張り付ける Tony Plate の "P...
** rw1090
- Rterm と Rgui の双方は使用法に関する情報を --help もし...
command-line フラグで与える。
- "Misc|Break to debugger" メニューオプション。これはデバ...
- Added "stay" argument to bringToTop(), to allow the use...
that a window should stay on top of other windows. Also ...
on top" item to the popup menus. All of these require R ...
in SDI mode ("Rgui --sdi" or via the settings in file `Rc...
新規ウィンドウがMDIクライアント領域に収まるように windows...
ユーザメニューを調べるための関数 winMenuNames() と winMen...
ヘルプメニューに www.r-project.org と CRAN の項目が追加さ...
(Wishlist PR#6492)
Added "R" command to be similar to Unix invocation of scr...
"R CMD INSTALL" is the same as "Rcmd INSTALL". Rcmd stil...
backwards compatibility (and to avoid conflicts over the ...
All of R, R CMD and Rcmd now accept --help.
Rcmd Rd2dvi.sh でなく Rcmd Rd2dvi と指定できるようになっ...
Rguiコンソールの編集メニュー、ポップアップメニューに "Pas...
出力のブロックをコピーする際、
再実行のためコンソールにはコマンドのみを張り付ける。 (Co...
**インストール
並列 make (make -j2など) が使えるようになったが、最低384M...
デュアルプロセッサ(もしかしたらhyperthreading対応)マシ...
Installing now sorts in the C locale to ensure that a con...
order is used. (Some aspects of sorting used to be done ...
of the host machine, but Perl and the cygwin-based tools ...
ASCII collation order.)
長らくテストされていなかった、Windowsの .hlp ファイル作成...
K. Gotoによる高速BLASへの対応が行われた。
2.6GHz Pentium 4、1GB RAMという環境で1000 x 1000行列Aに対...
R BLAS ATLAS Goto
A %*% A 3.7 0.65 0.56
svd(A) 16.2 7.77 6.83
高速BLASは統計処理で多く出てくる小さな行列に対してはずっ...
指数関数に速いアセンブラコードが使われるようになった。
R自身のクロスコンパイルが再び機能するようになった。 (1.8...
**パッケージの構築とインストール法
R CMD INSTALL/build/check が空白を含むパス名をMS-DOSの8.3...
R CMD INSTALL が --with-package-versions によってヴァージ...
(バイナリ)パッケージバンドルのインストールにおいて、パ...
INSTALL ログの末尾に "* DONE" を追加したので、 CHECK への...
(This is a repository maintainer option; see src/scripts/...
**内部機能の変更
R 1.8.0 で導入された高速 bmp/png/jpeg 処理コードが256色表...
R内部の malloc 等の関数が Rm_malloc 等に変更され、
Rのオブジェクト、Wilcoxon検定他いくつかのメモリに敏感な処...
Doug Lea の手になる改良型 malloc ルーチン(David Tellerの...
大きなメモリ領域(特に、OSがサポートすれば、2GB超えのメモ...
最初に要求されたメモリは保たれなくなったが、
この malloc ルーチンは非連続なメモリ領域も扱えるので、問...
インストーラがLZMA圧縮を使うようになり、Inno Setupのヴァ...
バイナリビルドではlibpngのヴァージョン 1.2.5 を使うように...
**バグフィックス
list.files() が "C:" 等のパスを正しく扱うよう修正。
Unixでの一貫性のため unlink() がファイルの空リストを受け...
Rd2dvi.sh で DESCRIPTION ファイルの処理における空白文字の...
コマンドライン引数 "--max-mem-size" の処理の文法エラーを...
RGui で、 ctrl-T が行の第1、2番目の文字を入れ換えることが...
pipe() の先頭にあったゴミ文字を修正。 (PR#5053)
R CMD SHLIB がコマンドラインで指定されたものに限らず全て...
またDLLをディレクトリ内の全ての *.o ファイルから作ってい...
メタファイルのピクセル単位のサイズがしばしば要求より1大き...
よって多めに塗るようにした。
Rproxy.dll が大きいデータを扱うときにクラッシュすることが...
「1970-01-01 00:00:00 (UTC) 以前の日付データは無効」とす...
(時計がUTCより早い地域で as.POSIXct("1970-01-01 00:00:00...
browseURL() に264文字以上のURLを渡すと起きるかも知れない...
(確実に直ったとはまだ言えないが)。
終了行:
SIZE(15){COLOR(magenta){R 1.9.0 の新機能・変更点}}
//間瀬 (2004.4.12)
R の新バージョンが公開されました。結構大がかりな変更があ...
~
MS Windows 版 R 固有の変更点も r-help 記事より付け加えま...
#contents
~
*ユーザーの目に見える変更
-COLOR(blue){アンダースコア '_' がオブジェクト名に使える...
-COLOR(blue){パッケージ 'base' がパッケージ 'base', 'grap...
-COLOR(blue){パッケージ ctest, eda, modreg, mva, nls, ste...
-パッケージ mle は stats4 にうつされた。stats4 は統計的な...
-ユーザーは .Profile 中のコードが新しくロードされたベース...
-R セッションの起動を早くするために一致協力した努力がなさ...
-現在のところ R は一バイト文字コードしかサポートしていな...
*新しい機能
- 演算子 $, $<-, [[, [[<- を環境に対して適用できる。文字...
-"acf" オブジェクトに対する新しい print() と [ メソッド。
- aov() は今や特異な Error() モデルを扱うが、警告がでる。
- arima() は当てはめられるべき自由パラメータが皆無のモデ...
- S との互換性のため、array() と matrix() は長さ零の `dat...
- as.data.frame() は配列に対するメソッドを持つようになっ...
- as.matrix.data.frame() はすべてが論理値からなるデータフ...
- fixInNamespace を並列化した新しい関数 assignInNamespace...
- 等高線を生成する(しかし何も描かない)新しい関数 contourL...
- D(), deriv(), 等は asin(), acos(), atan() も微分する (K...
-- data() 関数に対する `package' 引数はもはや (引用符無し...
- (時間を含まない)日にち用の新しいクラスと、date-times に...
- 整数ベクトルのディパース (dump() と dput() を使用したも...
- .Deprecated() は新しい引数 `package' を持ち、base パッ...
- "difftime" オブジェクトに対する print() メソッドは今や...
- dir.create() はいまや Unix でも Windows でも内部関数(mk...
- dist() は今やミンコウスキ距離を計算する新しいメソッドを...
- expand.grid() は属性 "out.attrs" 中に適当な配列次元と次...
- factanal(), loess() そして princomp() は今や厳密に数値...
- gamma(x+1) と定義される新しい関数 factorial(x) が登場。...
- findInterval(x, v) は今や x 中に ±Inf 値や NAs を許す。
- formula.default() は今や保存された呼出し中の 'formula" ...
- glm() の引数 `etastart' と `mustart' は今や `subset' や...
- 関数 grep(), regexpr(), sub() そして gsub() は今やその...
- perl=TRUE 引数は今や、それが使われる際に使用されている...
- パッケージ `utils' 中の新しい関数 head() と tail() (Pat...
- legend() は新しい引数 'text.col' を持つ。
- methods(class=) は今やマッッチング用のジェネリックをチ...
- 新しい関数 mget() は環境から複数の値を回収する。
- model.frame() メッソッド、例えば "lm" や "glm" 用のそれ...
- nls() や ppr() は、当てはめオブジェクトの一部としてモデ...
- "POSIXct" オブジェクトは "tzone" 属性をもつことができ、...
- postscript() デバイスは 8.11 版以降の gs における低精度...
- ppr() はカテゴリカルな説明変数を完全にサポートする。ppr...
- princomp() は x と covmat の双方が与えられると警告し、...
-digamma() 等を一般化する新しい関数。これらのすべての関数...
-pchisq(*, ncp > 0) したがって qchisq() は ncp が現在より...
-read.table() は引用符つきの欄中に埋め込まれた改行を許す...
-rep.default(0-length-vector, length.out=n) は長さ 0 でな...
ベクトルを返す(S との互換性のため)。もし each と length.o...
S との互換性のため、NA で埋めるのではなく、りサイクルされ...
NA で埋めるのではなく、りサイクルされる。rep() に対する "...
-新しい関数 rgb2hsv() は同じ名前の C の API 関数への R の...
-User hooks can be set for onLoad, library, detach and
onUnload of packages/namespaces: see ?setHook.
-save() default arguments can now be set using option
"save.defaults", which is also used by save.image() if o...
"save.image.defaults" is not present.
-OS シェルへ渡される文字列をクォートするための新しい関数 ...
-sink() 関数は、sink と 現在の出力コネクションの双方に出...
-split.screen() は複数のデバイスへ同時に機能する
-On some OSes (including Windows and those using glibc)
strptime() did not validate dates correctly, so we have ...
extra code to do so. However, this cannot correct scann...
errors in the OS's strptime (although we have been able to
work around these on Windows). Some examples are now tes...
during configuration.
-strsplit() now has `fixed' and `perl' arguments and
split="" is optimized.
-subset() now allows a `drop' argument to remove unused f...
levels. The default is still to keep them.
-termplot() has an option to smooth the partial residuals.
-varimax() and promax() add class "loadings" to their loa...
component.
-Model fits now add a "dataClasses" attribute to the term...
can be used to check that the variables supplied for
prediction are of the same type as those used for fitting.
(It is currently used by predict() methods for classes "...
"mlm", "glm" and "ppr", as well as methods in packages M...
rpart and tree.)
-New command-line argument --max-ppsize allows the size o...
pointer protection stack to be set higher than the previ...
limit of 10000.
-The fonts on an X11() device (also jpeg() and png() on U...
can be specified by a new argument `fonts' defaulting to...
value of a new option "X11fonts".
-New functions in the tools package: pkgDepends, getDepLi...
installFoundDepends. These provide functionality for as...
dependencies and the availability of them (either locall...
from on-line repositories).
-The parsed contents of a NAMESPACE file are now stored at
installation and if available used to speed loading the
package, so packages with namespaces should be reinstall...
-Argument `asp' although not a graphics parameter is acce...
in the ... of graphics functions without a warning. It ...
works as expected in contour().
- パッケージ stats4 は AIC() と BIC() に対する S4 メソッ...
-The Mac OS X version now produces an R framework for eas...
of R into other programs. As a result, R.app is now rel...
-Added experimental support for conditionals in NAMESPACE...
-Added as.list.environment to coerce environments to lists
(efficiently).
- stats 中の新しい関数 addmargins() は表に周辺要約(例えば...
-dendrogam edge and node labels can now be expressions (t...
plotted via stats:::plotNode called from plot.dendrogram).
The diamond frames around edge labels are more nicely sc...
horizontally.
-Methods defined in the methods package can now include
default expressions for arguments. If these arguments are
missing in the call, the defaults in the selected method...
override a default in the generic. See ?setMethod.
-Changes to package 'grid':
--- Renamed push/pop.viewport() to push/popViewport().
--- Added upViewport(), downViewport(), and seekViewport...
allow creation and navigation of viewport tree
(rather than just viewport stack).
--- Added id and id.lengths arguments to grid.polygon() ...
multiple polygons within single grid.polygon() call.
--- Added vpList(), vpStack(), vpTree(), and current.vpT...
to allow creation of viewport "bundles" that may be pu...
at once (lists are pushed in parallel, stacks in serie...
current.vpTree() returns the current viewport tree.
--- Added vpPath() to allow specification of viewport path
in downViewport() and seekViewport().
See ?viewports for an example of its use.
NOTE: it is also possible to specify a path directly,
e.g., something like "vp1::vp2", but this is only
advised for interactive use (in case I decide to chang...
separator :: in later versions).
--- Added "just" argument to grid.layout() to allow just...
of layout relative to parent viewport *IF* the layout ...
the same size as the viewport. There's an example in
help(grid.layout).
--- Allowed the "vp" slot in a grob to be a viewport nam...
vpPath. The interpretation of these new alternatives ...
call downViewport() with the name or vpPath before dra...
grob and upViewport() the appropriate amount after dra...
grob. Here's an example of the possible usage:
pushViewport(viewport(w=.5, h=.5, name="A"))
grid.rect()
pushViewport(viewport(w=.5, h=.5, name="B"))
grid.rect(gp=gpar(col="grey"))
upViewport(2)
grid.rect(vp="A", gp=gpar(fill="red"))
grid.rect(vp=vpPath("A", "B"), gp=gpar(fill="blue"))
--- Added engine.display.list() function.
This allows the user to
tell grid NOT to use the graphics engine display list ...
ALL redraws using its own display list (including redr...
device resizes and copies).
This provides a way to avoid some of the problems with...
a device when you have used grid.convert(), or the gri...
or even base functions such as legend().
There is a document discussing the use of display list...
on the grid web site
(http://www.stat.auckland.ac.nz/~paul/grid/grid.html)
--- Changed the implementation of grob objects. They ar...
implemented as external references. They are now regu...
which copy-by-value. This means that they can be saved...
like normal R objects. In order to retain some existi...
behaviour, the following changes were necessary:
+ grobs all now have a "name" slot. The grob name is ...
uniquely identify a "drawn" grob (i.e., a grob on th...
list).
+ grid.edit() and grid.pack() now take a grob name as ...
argument instead of a grob. (Actually, they take a ...
see below)
+ the "grobwidth" and "grobheight" units take either a...
OR a grob name (actually a gPath - see below). Only...
latter case will the unit be updated if the grob "po...
is modified.
In addition, the following features are now possible w...
+ grobs now save()/load() like any normal R object.
+ many grid.*() functions now have a *Grob() counterpa...
grid.*() version is used for its side-effect of draw...
something or modifying something which has been draw...
*Grob() version is used for its return value, which ...
This makes it more convenient to just work with grob
objects without producing any graphical output
(by using the *Grob() functions).
+ there is a gTree object (derived from grob), which i...
that can have children. A gTree also has a "childre...
which is a viewport which is pushed and then "up"ed ...
children are drawn; this allows the children of a g...
place themselves somewhere in the viewports specifie...
childrenvp by having a vpPath in their vp slot.
+ there is a gPath object, which is essentially a conc...
of grob names. This is used to specify the child of
(a child of ...) a gTree.
+ there is a new API for creating/accessing/modifying ...
grid.add(), grid.remove(), grid.edit(), grid.get() (...
*Grob() counterparts can be used to add, remove, edi...
a grob or the child of a gTree. NOTE: the new grid....
is incompatible with the previous version.
--- Added stringWidth(), stringHeight(), grobWidth(), an...
convenience functions (they produce "strwidth", "strhe...
"grobwidth", and "grobheight" unit objects, respective...
--- Allowed viewports to turn off clipping altogether.
Possible settings for viewport clip arg are now:
"on" = clip to the viewport (was TRUE)
"inherit" = clip to whatever parent says (was FALSE)
"off" = turn off clipping
Still accept logical values (and NA maps to "off")
*ユーティリティー
--R CMD check now runs the (Rd) examples with default RN...
(uniform & normal) and set.seed(1).
example(*, setRNG = TRUE) does the same.
--undoc() in package `tools' has a new default of `use.va...
NULL' which produces a warning whenever the default valu...
function arguments differ between documentation and code.
Note that this affects "R CMD check" as well.
--Testing examples via massage-examples.pl (as used by R ...
check) now restores the search path after every help file.
--checkS3methods() in package 'tools' now also looks for ...
in the loaded namespaces/packages listed in the Depends ...
of the package's DESCRIPTION file when testing an instal...
package.
--The DESCRIPTION file of packages may contain a 'Suggest...
field for packages that are only used in examples or
vignettes.
--Added an option to package.dependencies() to handle the
'Suggests' levels of dependencies.
--Vignette dependencies can now be checked and obtained via
vignetteDepends.
--Option 'repositories' to list URLs for package reposito...
added.
--package.description() has been replaced by packageDescr...
--R CMD INSTALL/build now skip Subversion's .svn director...
well as CVS directories.
*C-レベルの機能
--arraySubscript and vectorSubscript take a new argument ...
is a function pointer that provides access to character
strings (such as the names vector) rather than assuming ...
are passed in.
--R_CheckUserInterrupt is now described in `Writing R Ext...
and there is a new equivalent subroutine rchkusr for cal...
from FORTRAN code.
--hsv2rgb and rgb2hsv are newly in the C API.
--Salloc and Srealloc are provided in S.h as wrappers for...
and S_realloc, since current S versions use these forms.
--The type used for vector lengths is now R_len_t rather ...
int, to allow for a future change.
--The internal header nmath/dpq.h has slightly improved m...
R_DT_val() and R_DT_Cval(), a new R_D_LExp() and improved
R_DT_log() and R_DT_Clog(); this improves accuracy in s...
[dpq]-functions {for "extreme" arguments}.
*削除された機能
--print.coefmat() is defunct, replaced by printCoefmat().
--codes() and codes<-() are defunct.
--anovalist.lm (replaced in 1.2.0) is now defunct.
--glm.fit.null(), lm.fit.null() and lm.wfit.null() are de...
--print.atomic() is defunct.
--The command-line arguments --nsize and --vsize are no l...
recognized as synonyms for --min-nsize and --min-vsize (...
replaced them in 1.2.0).
--Unnecessary methods coef.{g}lm and fitted.{g}lm have been
removed: they were each identical to the default method.
--La.eigen() is deprecated now eigen() uses LAPACK by def...
--tetragamma() and pentagamma() are deprecated, since the...
equivalent to psigamma(, deriv=2) and psigamma(, deriv=3).
--LTRUE/LFALSE in Rmath.h have been removed: they were
deprecated in 1.2.0.
--package.contents() has been deprecated.
*インストール法の変更
--The defaults for configure are now --without-zlib
--without-bzlib --without-pcre.
--The included PCRE sources have been updated to version ...
PCRE >= 4.0 is now required if --with-pcre is used.
The included zlib sources have been updated to 1.2.1, an...
is now required if --with-zlib is used.
--configure no longer lists bzip2 and PCRE as `additional
capabilities' as all builds of R have had them since 1.7...
--COLOR(red){--with-blas=goto} to use K. Goto's optimized...
*バグフィックス
o When lm.{w}fit() disregarded arguments in ... they ...
the values and not the names.
o lm(singular.ok = FALSE) was looking for 0 rank, not...
o The substitution code for strptime in the sources n...
follows glibc in silently `correcting' invalid inputs.
-The cor() function did not remove missing values in the ...
cor() 関数において,ピアソンの積率相関係数以外の場合(す...
1.8.1 では,
> x <- 1:5
> y <- c(1,3,2,NA,5)
> cor(x, y, method="kendall")
[1] 0.6 バグ
> cor(c(1,2,3,5), c(1,3,2,5), method="kendall")
[1] 0.6666667 正しい値
1.9.0 では,以下のようになるということ
> x <- 1:5
> y <- c(1,3,2,NA,5)
> cor(x, y, method="kendall")
Error in cor(x, y, method = "kendall") : missing observa...
> cor(x, y, method="kendall", use="complete.obs")
[1] 0.6666667
-[l]choose() use a more accurate formula which also sligh...
choose(), lchoose() は,より正確な計算公式を使うようにな...
> choose(10,-1)
[1] 0
> choose(10,20)
[1] 0
o find(simple.words=TRUE) (the default) was still usi...
expressions for e.g. "+" and "*". Also, it checked the ...
only of the first object matching a regular expression f...
in a package.
o Memory leaks in [dpq]wilcox and [dqr]signrank have ...
These only occurred when multiple values of m or n > 50 ...
used in a single call. (PR#5314, plus another potential ...
o Non-finite input values to eigen(), La.eigen(), svd...
La.svd() are now errors: they often caused infinite
looping. (PR#5406, PR#4366, PR#3723: the fix for 3723/4...
returned a vector of NAs, not a matrix, for the eigenvec...
o stepfun(x,y) now gives an error when `x' has length...
of an invalid result (that could lead to a segmentation
fault).
o buildVignettes() uses file.remove() instead of unli...
remove temporary files.
o methods(class = "lqs") does not produce extraneous ...
o Directly calling a method that uses NextMethod() no...
produces the erroneous error message 'function is not a
closure'.
//-chisq.test(x, simulate.p.value = TRUE) could hang in a...
- chisq.test(x, simulate.p.value = TRUE) で,x が大きいと...
//-fisher.test(x) could give a P-value of 'Inf' in simila...
-fisher.test(x) において, P 値として Inf を返していたよ...
o cutree(a, h=h) silently gave wrong results when 'a'...
agnes object; now gives an error and reminds of as.hclus...
o postscript() could crash if given a font value outs...
valid range 1...5.
o qchisq(1-e, .., ncp=.) did not terminate for small e.
(PR#6421 (PR#875))
o contrasts() turns a logical variable into a factor....
always has levels c("FALSE", "TRUE") even if only one (or
none) of these occur in the variable.
o model.frame()'s lm and glm methods had 'data' and '...
arguments which they ignored and have been removed.
o The defaults data=list() in lm() and glm() could ne...
used and have been removed. glm had na.action=na.fail, ...
never used.
o tools:::.getInternalS3generics() was omitting all t...
of the S3 group generics, which also accept methods for ...
o Some BLASes were returning NA %*% 0 as 0 and some a...
slower but more careful code is used if NAs are present....
o package.skeleton() no longer generates invalid file...
code and help files. Also, care is taken not to generate
filenames that differ only by case.
o pairs() now respects axis graphical parameters such...
cex.main, font.main and las.
o Saving images of packages with namespaces (such as ...
not compressing the image.
o When formula.default() returned a terms object, it ...
result of class c("terms", "formula") with different
subsetting rules from an object of class "formula".
o The standalone Rmath library did not build correctl...
with inaccurate log1p.
o Specifying asp is now respected in calls like plot(...
with zero range on both axes.
o outer() called rep() with an argument the generic d...
have, and discarded the class of the answer.
o object.size() now returns a real (not integer) answ...
can cope with objects occupying more than 2Gb.
o Lookups base:: and ::: were not confining their sea...
named package/namespace.
o qbinom() was returning NaN for prob = 0 or 1 or siz...
though the result is well-defined. (In part, PR#5900.)
o par(mgp)[2] was being interpreted as relative to pa...
(PR#6045)
o Versioned install was broken both with and without ...
no R code was loaded.
o methods(), getS3method() and the registration of S3...
namespaces were broken if the S3 generic was converted i...
S4 generic by setting an S4 method.
o Title and copyright holder of the reference manual ...
sync with the citation() command.
o The validation code for POSIXlt dates and hence
seq(, by="DSTdays") now works for large mday values (not
just those in -1000...1000). (PR#6212)
o The print() method for data frames now copes with d...
containing arrays (other than matrices).
o texi2dvi() and buildVignettes() use clean=FALSE as ...
because the option is not supported on some Solaris
machines. For buildVignettes() this makes no difference ...
uses an internal cleanup mechanism.
o The biplot() method for "prcomp" was not registered...
(PR#6425)
o Latex conversion of .Rd files was missing newline b...
\end{Section} etc which occasionally gave problems, as f...
some other \end{Foo} in 1.8.1. (PR#5645)
o Work around a glibc bug to make the %Z format usabl...
o The glm method for rstandard() was wrongly scaled f...
summary(model)$dispersion != 1.
o Calling princomp() with a covariance matrix (rather...
list) failed to predict scores rather than predict NA as
intended. (PR#6452)
o termplot() is more tolerant of variables not in the...
(PR#6327)
o isoreg() could segfault on monotone input sequences...
o Rdconv detected \link{\url{}} only very slowly. (P...
o aov() with Error() term and no intercept incorrectl...
terms to strata. (PR#6510)
o ftable() incorrectly handled arguments named "x". ...
o vector(), matrix(), array() and their internal equi...
report correctly that the number of elements specified w...
large (rather than reporting it as negative).
o Minor copy-paste error in example(names). (PR#6594)
o length<-() now works correctly on factors (and is n...
with a method for factors).
o x <- 232; x:(x+3) no longer generates an error (but...
result of type "double").
o pgamma(30, 100, lower=FALSE, log=TRUE) is not quite...
pgamma(x, alph) now only uses a normal approximation for
alph > 1e5 instead of alph > 1000. This also improves t...
of ppois().
o qgamma() now does one or more final Newton steps, i...
accuracy from around 2e-8 to 3e-16 in some cases. (PR#2...
It allows values p close to 1 not returning Inf, with ac...
'lower=FALSE', and values close to 0 not returning 0 for
'log=TRUE'. These also apply to qchisq(), e.g.,
qchisq(1e-13, 4, lower=FALSE) is now finite and
qchisq(1e-101, 1) is positive.
o gamma(-n) now gives NaN for all negative integers -n.
o The Unix version of browseURL() now protects the UR...
shell, for example allowing & and $ to occur in the URL.
It was incorrectly attempting to use -remote "openURL()"...
unknown browsers.
o extractAIC.coxph() works around an inconsistency in...
$loglik output from coxph. (PR#6646)
o stem() was running into integer overflows with near...
inputs, and scaling badly for constant ones. (Partly PR...
o system() under Unix was losing the 8095th char if t...
was split. (PR#6624)
o plot.lm() gave incorrect results if there were zero...
(PR#6640)
o Binary operators warned for inconsistent lengths on...
vector operations, but not on vector op matrix ones. (P...
and more.)
Comparison operators did not warn about inconsistent len...
for real vectors, but did for integer, logical and chara...
vectors.
o spec.pgram(x, ..., pad, fast, ...) computed the per...
a bias (downward) whenever 'pad > 0' (non-default) or 'f...
(default) and nextn(n) > n where n = length(x); similarl...
'df' (approximate degrees of freedom for chisq).
o dgamma(0, a) now gives Inf for a < 1 (instead of Na...
so does dchisq(0, 2*a, ncp).
o pcauchy() is now correct in the extreme tails.
o file.copy() did not check that any existing `from' ...
been truncated before appending the new contents.
o The QC files now check that their file operations s...
o replicate() worked by making the supplied expressio...
body of an anonymous function(x), leading to a variable
capture issue. Now, function(...) is used instead.
o chisq.test(simulate.p.value = TRUE) was returning s...
incorrect p values, notably p = 0 when the data gave the...
extreme value.
o terms.formula(simplify = TRUE) was losing offset te...
Multiple offset terms were not being removed correctly i...
of them appeared first or last in the formula. (PR#6656)
o Rd conversion to latex did not add a new line before
\end{Section} in more cases than were corrected in 1.8.1.
o split.default() dropped NA levels in its internal c...
returned them as NA in all components in the interpreted...
for factors. (PR#6672)
o points.formula() had problems if there was a subset...
and no data argument. (PR#6652)
o as.dist() does a bit more checking of its first arg...
warns when applied to non-square matrices.
o mle() gives a more understandable error message whe...
argument is not ok.
o All uses of dir.create() check the return value.
download.packages() checks that destdir exists and is a ...
o Methods dispatch corrects an error that failed to f...
methods for classes that extend sealed classes (class un...
that contain basic classes, e.g.).
o Sweave no longer wraps the output of code chunks with
echo=false and results=tex in Schunk environments.
o termplot() handles models with missing data better,...
with na.action=na.exclude.
o 1:2 * 1e-100 now prints with correct number of spa...
o Negative subscripts that were out of range or NA we...
correctly. Mixing negative and NA subscripts is now cau...
an error: it was not caught on some platforms and segfau...
on others.
o gzfile() connections had trouble at EOF when used o...
file.
o The Unix version of dataentry segfaulted if the `Co...
was used. (PR#6605)
o unlist on lists containing expressions now works (P...
o D(), deriv() and deriv3() now also can deal with ga...
o The X11 module can now be built against XFree86 4.4...
with some warnings).
o seq.POSIXt(from, to, by="DSTdays") was shorter than...
for rare times in the UK time zone. (PR#4558)
o c/rbind() did not support vectors/matrices of mode ...
o summary() methods for POSIX[cl]t and Date classes c...
number of NAs to a date on printing.
o KalmanSmooth would sometimes return NA values with ...
(PR#6738)
o fligner.test() worked correctly only if data were a...
by group levels. (PR#6739)
*MS Windows 固有の変更点
**トピックス
- ウインドウに対する "stay on top" オプション。
- Rcmd は今や Unix と同様に、R CMD 命令を許す
- 出力のコピーされたブロックを張り付ける Tony Plate の "P...
** rw1090
- Rterm と Rgui の双方は使用法に関する情報を --help もし...
command-line フラグで与える。
- "Misc|Break to debugger" メニューオプション。これはデバ...
- Added "stay" argument to bringToTop(), to allow the use...
that a window should stay on top of other windows. Also ...
on top" item to the popup menus. All of these require R ...
in SDI mode ("Rgui --sdi" or via the settings in file `Rc...
新規ウィンドウがMDIクライアント領域に収まるように windows...
ユーザメニューを調べるための関数 winMenuNames() と winMen...
ヘルプメニューに www.r-project.org と CRAN の項目が追加さ...
(Wishlist PR#6492)
Added "R" command to be similar to Unix invocation of scr...
"R CMD INSTALL" is the same as "Rcmd INSTALL". Rcmd stil...
backwards compatibility (and to avoid conflicts over the ...
All of R, R CMD and Rcmd now accept --help.
Rcmd Rd2dvi.sh でなく Rcmd Rd2dvi と指定できるようになっ...
Rguiコンソールの編集メニュー、ポップアップメニューに "Pas...
出力のブロックをコピーする際、
再実行のためコンソールにはコマンドのみを張り付ける。 (Co...
**インストール
並列 make (make -j2など) が使えるようになったが、最低384M...
デュアルプロセッサ(もしかしたらhyperthreading対応)マシ...
Installing now sorts in the C locale to ensure that a con...
order is used. (Some aspects of sorting used to be done ...
of the host machine, but Perl and the cygwin-based tools ...
ASCII collation order.)
長らくテストされていなかった、Windowsの .hlp ファイル作成...
K. Gotoによる高速BLASへの対応が行われた。
2.6GHz Pentium 4、1GB RAMという環境で1000 x 1000行列Aに対...
R BLAS ATLAS Goto
A %*% A 3.7 0.65 0.56
svd(A) 16.2 7.77 6.83
高速BLASは統計処理で多く出てくる小さな行列に対してはずっ...
指数関数に速いアセンブラコードが使われるようになった。
R自身のクロスコンパイルが再び機能するようになった。 (1.8...
**パッケージの構築とインストール法
R CMD INSTALL/build/check が空白を含むパス名をMS-DOSの8.3...
R CMD INSTALL が --with-package-versions によってヴァージ...
(バイナリ)パッケージバンドルのインストールにおいて、パ...
INSTALL ログの末尾に "* DONE" を追加したので、 CHECK への...
(This is a repository maintainer option; see src/scripts/...
**内部機能の変更
R 1.8.0 で導入された高速 bmp/png/jpeg 処理コードが256色表...
R内部の malloc 等の関数が Rm_malloc 等に変更され、
Rのオブジェクト、Wilcoxon検定他いくつかのメモリに敏感な処...
Doug Lea の手になる改良型 malloc ルーチン(David Tellerの...
大きなメモリ領域(特に、OSがサポートすれば、2GB超えのメモ...
最初に要求されたメモリは保たれなくなったが、
この malloc ルーチンは非連続なメモリ領域も扱えるので、問...
インストーラがLZMA圧縮を使うようになり、Inno Setupのヴァ...
バイナリビルドではlibpngのヴァージョン 1.2.5 を使うように...
**バグフィックス
list.files() が "C:" 等のパスを正しく扱うよう修正。
Unixでの一貫性のため unlink() がファイルの空リストを受け...
Rd2dvi.sh で DESCRIPTION ファイルの処理における空白文字の...
コマンドライン引数 "--max-mem-size" の処理の文法エラーを...
RGui で、 ctrl-T が行の第1、2番目の文字を入れ換えることが...
pipe() の先頭にあったゴミ文字を修正。 (PR#5053)
R CMD SHLIB がコマンドラインで指定されたものに限らず全て...
またDLLをディレクトリ内の全ての *.o ファイルから作ってい...
メタファイルのピクセル単位のサイズがしばしば要求より1大き...
よって多めに塗るようにした。
Rproxy.dll が大きいデータを扱うときにクラッシュすることが...
「1970-01-01 00:00:00 (UTC) 以前の日付データは無効」とす...
(時計がUTCより早い地域で as.POSIXct("1970-01-01 00:00:00...
browseURL() に264文字以上のURLを渡すと起きるかも知れない...
(確実に直ったとはまだ言えないが)。
ページ名: