/
ONEWS
3111 lines (1962 loc) · 102 KB
/
ONEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file covers NEWS up to the release of R-1.0.0 on
29 February 2000. See `NEWS' for subsequent changes.
**************************************************
* *
* 1.0 SERIES NEWS *
* *
**************************************************
CHANGES IN R VERSION 1.0.0
NEW FEATURES
o The entry points [dpq]norm no longer exist: the header file
R_ext/Mathlib.h must be used and such code re-compiled.
o Header files in R_ext must be given explicitly as e.g.
"R_ext/Mathlib.h".
o New function log1p(x) := log(1 + x) , accurate for |x| << 1.
o HTML searches can now select between any combination of
titles, keywords and object names. The keyword list of
SearchEngine.html is automatically built from KEYWORDS.db.
Missing links are now resolved using the search engine.
o A data subdirectory of the working directory will be
searched for data, by default after all the loaded packages
(including base).
o Data directories can now be zipped as Rdata.zip, provided a
list of contents is provided in file `filelist'.
o New function try(expr) which provides a user-friendly wrapper
to restart().
o New function geterrmessage() to retrieve the last error
message, for use in try() and user's error handlers, and new
option "show.error.messages" to control the printing of error
messages.
o persp() now labels its axes.
o ?plotmath documents the plotting expressions facility much
more comprehensively, with tables in the examples.
o New functions dump.frames() and debugger() allow post-mortem
debugging. See the help on debugger.
o New functions by() and merge() to split and join data frames.
o Generic methods now do "match before dispatch", so
plot(pch=2, y ~ x) invokes plot.formula. Notice that this will
break user code if it has renamed the dispatch argument and
uses the original name for a different argument.
o Long-named command-line options also allow `--name VALUE'.
o arima0() now uses optim() rather than nlm(), and is thereby
normally faster and gives more accurate solutions. Perhaps
more importantly, it fails to converge much less often.
o Enhanced pairs() function allowing separate upper, lower and
diagonal panel functions and control of diagonal labels.
(Much of this was contributed by Jens Oehlschlaegel-Akiyoshi.)
o Links to R objects in other packages in help files can now be
specified explicitly as \link[pkg]{topic} or
\link[pkg:maintopic]{topic}
o optim() has a new simulated annealing method contributed by
Adrian Trapletti.
o Hershey vector fonts are available in text() and contour().
Documentation for Hershey vector fonts is in help(Hershey).
o The HTML function indices (for packages and for all installed
functions) and the index to the reference manual now omit
methods for generic functions if they would immediately follow
the generic and refer to the same file. This reduces the
clutter considerably.
o New functions points.formula() and lines.formula() to supplement
plot.formula(). The latter has been enhanced so that all
arguments are now evaluated in the supplied data frame and all
subsettable arguments are subsetted. Notice that the data=
argument can no longer be given as a positional argument but
must be given in keyword form.
o The behaviour of pmatch() has been changed to be S-compatible:
in particular the meaning of duplicates.ok=TRUE has changed.
The help for pmatch and charmatch now gives more precise
descriptions, including of their differences.
o print.hclust(), hclust() and dist() now store the method
that has been used.
o If there are unmatched function argument(s), the first found
is named in the message, for example
`unused argument(s) (xlabel ...)'.
o Conversion from Rd to raw nroff is no longer available.
o text() now accepts vector "col", "cex" and "font" arguments.
o "default" is now a valid argument to RNGkind().
o nlm() and optim() will now give up immediately they try to
step to a non-finite value: nlm at least would go into an
infinite loop.
o "mostattributes(obj) <- value" utility useful for careful
attributes' inheritance; e.g. for fixing pmax/pmin (see below).
BUG FIXES
o (0.99.0a) The internal code for strsplit no longer destroys
other internal structures, e.g. postscript file output on
Linux.
o (0.99.0a) nlm() no longer segfaults with Hessian specified.
o (0.99.0a) Gnome version plotmath works, kind of
o (0.99.0a) edit.data.frame() now handles character vectors
better, provided they were generated with I().
o (0.99.0a) Attempt to special-case print-buffer allocation
with just a format argument was abandoned, since there is
no portable way of doing it and it caused compile problem
on Alpha.
o tempfile("") now works on all Unix platforms, and
tempfile("a b c") returns a single name (with spaces in).
The file names are now unique across processes (Unix), are
guaranteed not to exist and very likely to be unique within
an R session.
o The search semantics of data(), example() and help() have changed
(see their help pages). In particular, they will normally
look in the package which was loaded, even if it is not in
one of the libraries given in .lib.loc. Autoloads are no
longer included in the search (as they searched whole packages,
not just the autoloaded objects).
o The documentation for .Rd files said & must be entered as \&
but only the unescaped form was processed correctly. Now both
are accepted but & is preferred.
o list.files now skips non-existent/unreadable directories with
a warning, rather that failing with an error.
o Lots of help examples now tidy up the files they created, and
detach data frames and libraries they attach.
o library(help=foo) lists only contents of first version if
multiple matches are found on lib.loc.
o round(2.345e-99, 100) now works (not giving 0).
C functions fprec() and fround() [= R's signif() and round()],
now use R_pow_di(10.0, n) which is clean and more efficient.
This changes some results in the least significant bits.
o rpois sometimes had problems with mu=0, now special-cased
o Rare memory overrun in rpois fixed.
o --nsize and --vsize arguments to R CMD check now work.
o plot.stepfun had renamed the dispatch argument and used the
original name "x" for a different argument which broke on the
new `match & dispatch' code. Changed to "xval".
o The return value for par() was incorrectly documented, and in
consequence cpgram() was not re-setting "pty".
o package.dependencies() printed unnecessary debugging messages
(version comparison): these have been removed.
o backslashes in examples in help files are now converted
correctly to latex.
o qchisq with non-centrality parameter now does something.
o Greek symbols are now converted correctly in HTML help (but
only rendered correctly on a few browsers).
o rbind(x, y) works when x has no columns.
o \tabular in Rd files is rendered better in latex, and long
tabular material is now acceptable (and split over pages).
o evaluation depth wasn't properly reset by "next"
o Old (pre-0.63.1) .Random.seed would cause problems if used.
o Row indexing of data.frames by characters (e.g. y["ab", ])
was wrong, as pmatch was not S-compatible.
o Contour labels used to be rounded to integers.
o Calling rbinom() repeatedly with the same p but different n
gave incorrect results.
o Rd2contents assumed the \name field was the file name, so
searches could lead to non-existent links.
o Assigning functions to list elements is not longer disallowed.
o Unified usage statement to R CMD xxx for all commands
o Using duplicated new string indices in [<- caused a crash on
some platforms, e.g. x <- 1:2; x[c("3", "3")] <- 3; x.
o rle() can now handle character vectors, as documented.
o print.default failed to reset its settings, so, e.g. na.print
could persist when printing a list.
o [cr]bind could sometimes return an invisible value.
o axis() and rug() sometimes extended the axis line too far.
rug() always clipped x values to the plot region, but now
admits to doing so with a warning.
o plot() and axis() got into trouble with very small relative
ranges: these are now required to be at least 100x the machine
precision.
o split.screen(, erase=TRUE) failed to create a new plot, so
failed if it was used on a postscript device before other plots.
o plotting with lwd = 0 also set the dash length to 0: now
dash lengths are scaled up for lwd > 1 but not reduced for
0 <= lwd < 1.
o plotting a " " vertically caused an X11 error with some fonts,
(notably URW fonts on RedHat) causing plot.lm to crash R
o F distributions with huge DF now behave more sensibly
o Crashes could occur if there was an error in inline
parameters, because the call was not being recorded. It is
now.
o Title field of DESCRIPTION now overrides TITLE file.
o R now reports `50 or more warnings', not just 50, as it only
displays the first 50.
o Resetting the RNG state resets the state of the Box-Muller
generator too.
o Pointer protection bug in load() code.
o Assignment with unknown string index caused memory corruption
when used on matrices.
o It is now possible to call Fortran routines d1mach and 11mach
on platforms which do not append underscores.
o Additions to plots by identify() and locator() were not being
recorded, and so did not appear when a plot was copied or
printed.
o The defaults for `na.action' arguments were inconsistently
documented. In R the default is taken from the
options(na.action) setting, and that defaults to `na.omit'.
If there is no `na.action' setting, the default is `na.fail'.
For consistency, the default for replications() has been
changed.
o Fix cases with lambda==0 in Poisson distribution
o demo(is.things) had been broken by the introduction of is.element.
o palette() didn't check for overflow and was limited to 256
colors, so palette(colors()) would segfault. Limit increased
to 1024 and check inserted.
o C functions fprec() and fround() [= R's signif() and round()],
now use R_pow_di(10., n) which is clean and more efficient.
This changes some results in the least significant bits.
o pmin(c(a=1), 2:3) now works {and pmax(.) too}.
**************************************************
* *
* 0.99 SERIES NEWS *
* *
**************************************************
CHANGES IN R VERSION 0.99.0
NEW FEATURES
o The ``Introduction to R'' manual, in doc/manual.
The ``Writing R Extensions'' manual is much enhanced for
this release.
o The format for save/load has been changed. Workspaces and
objects saved in earlier versions can be loaded into this
version, but not conversely. Use save() or save.image() with
argument oldstyle=TRUE to save in the old format if you need to.
o The header files for C code have been reorganised. The
preferred header file for user code is now "R.h", and
ancillary files such as Arith.h now need to be referred to
as "R_ext/Arith.h". The `Writing R Extensions' manual now
contains the beginnings of a description of the public API and
how to use it.
o Many of the exported symbols have been remapped or hidden. This
means that code using Rdefines.h or Rinternals.h or Mathlib.h
will need to be re-compiled, and code using Applic.h may do
so.
Many packages will need to be re-installed for use with this
release.
o The random number generation interface has changed, although
saved .Random.seed's will work unchanged. The default
generator is now Marsaglia's multicarry, and the Mersenne
Twister GFSR and Knuth's Fibonacci subtraction are also
available. The type of normal generation can be selected by
RNGkind() (and is encoded in .Random.seed).
The new function set.seed() which uses a single integer to set
the random number seeds is now the recommended way to do so.
It is now possible for a user to plug-in a new RNG written
in C: consult ?Random and ?Random-user for the details.
o All the DPQ {probability density quantile} functions have new
arguments, "lower_tail = TRUE" and "log{_p} = FALSE". This allows
more precise results when values would be close to 0 or 1.
o R CMD Rd2dvi has new options --pdf, --title and --output.
o New fields Date, URL and Title in the DESCRIPTION file of
packages. The Title field replaces the separate TITLE file of
packages, which is no longer necessary.
o residuals.lm() has a "type" argument, as S does.
o The underlying code for nlm has been translated from Fortran
to C and made re-entrant (changes contributed by Saikat DebRoy).
o optimize() can now be used recursively.
o New suite of optimization methods optim(), covering
Nelder-Mead, BFGS quasi-Newton and conjugate-gradients methods
for unconstrained minimization and maximization with and
without derivatives.
optim() also allows box constraints (interval bounds on
individual variables) in its limited-memory BFGS option.
o R now compiles in the GNU version of regex, so regular
expressions (grep, sub, gsub, regexpr, "pattern" in ls) are
always available. The class of regular expressions supported
is now slightly wider on some Unix platforms.
o package ctest (for classical tests) is now part of the base
distribution, and also contains chisq.test, prop.test and
t.test which previously were in package base. These three
functions are auto-loaded from ctest.
o New utility `R CMD build' for building add-on packages along
with some useful testing and cleaning up.
o Conversion of .Rd help files to text format is done in Perl,
and no longer requires nroff. This makes the conversion 8-bit
clean and more accurate.
o Building help for a package now removes help files that no
longer exist in the source.
o strsplit() now uses split regexps, and no longer insists on
splitting into non-empty tokens.
o Long-named options with arguments such as `--vsize' now use the
`--name=VALUE' form; the old `--name VALUE' is deprecated.
The old-style command line options `-v' and `-n' are now defunct.
o par("cxy") { == par("cin")/par("pin") in user coordinates}
for S compatibility.
o If R_PAPERSIZE is not specified otherwise, configure now tries
to compute it by calling paperconf.
o The deprecated alternative RPROFILE is no longer accepted: use
R_PROFILE instead.
o Added setequal() for set equality.
o First argument renamed to "package" for library(), require(),
provide().
o model.frame() now accepts data= arguments that can be coerced to
data frames.
o Help files can now contain \describe groups.
o Hyperlinks in help files can now use LaTeX special characters.
o rstandard() now also works for glm objects.
o glm drops 0-weight observations when fitting so that the
output is compatible with lm.influence() and plot.lm().
o New function ftable() for creating and manipulating flat
contingency tables.
o New function cutree() for cutting hclust trees in package
mva. New functions rect.hclust() and identify.hclust().
o Under Unix, the default editor is obtained from the environment
variables EDITOR or VISUAL if either is set.
o New command line option `--gui' to specify the graphical user
interface under Unix. Currently, possible values are `X11' (the
(default) and `GNOME', provided that GNOME support is available.
Command line options `-g' and `--gnome' are defunct.
o power.t.test() and power.prop.test() functions added for power and
sample size calculations.
o edit() is now generic and a new edit.data.frame() function
calls up the spreadsheet data editor. This is still rather
rudimentary, since the data editor really only knows about
numeric and character vectors.
o Modifications to the data editor so that one can use ESC to
quit a partial cell entry and entering an empty cell causes
the element to be set to NA.
o prop.table() and margin.table() functions (these are *really* trivial).
o R INSTALL checks the Depends field of DESCRIPTION if the
currently running version of R meets an R
dependency. old.packages() reports only packages conforming
to the current version of R. New function
package.dependencies() for parsing and checking dependencies.
o options("expressions") now does something, and the evaluation
depth is checked on all platforms (not just Macintosh). This
will catch infinite recursions gracefully.
o The default number of cons cells (`nsize') is now 350k (it
was 250k). This reflects the added base code and packages,
and increases memory usage by about 2Mb (on a 32-bit machine).
o Some simple multiple comparison procedures: p.adjust() for
generic adjustment of a set of p values by variants of the
Bonferroni method; pairwise.t.test, pairwise.wilcox.test,
pairwise.prop.test for pairwise comparisons of grouped data
and proportions.
o Error / warning calls with a long description of the call are
split into two lines. (This helps avoid scrolling in the
Windows GUI.)
o lapply() is now internal and substantially faster (7% overall
speed-up on the tests for the base package).
o apply() no longer names the output dimensions unless FUN returns
a result with names, and the same names for every result.
o contour() can (at last) label contours by level.
o persp() labels its axes.
o scan() and read.table() now have a dec= argument to set the
decimal point character. If sep= is set, quoting of strings is
now possible and follows the conventions for comma-separated
files. This should make it easier to read the "continental
CSV" format (fields separated by semicolon and using comma as
decimal point). The set of quoting characters has also been
made optional. Variants of read.table(), read.csv() and
read.csv2() have been defined
o HDF5 support is gone from the R distribution, and provided by an
add-on package available from CRAN.
o New function getOption() for retrieving the value of a single
option.
o read.table.url() and related functions now use download.file,
which has an extra "socket" method for direct HTTP socket
connection. download.file has new option ``quiet''.
o pairs.default() has an oma argument to allow users to override
the internal setting of that graphics parameter.
o princomp() in package mva allows the user to specify the
covariance matrix (and hence use, e.g. cov.mve).
BUG FIXES
o svd(matrix(2,1,0)),
arma0f(NULL), cancor(F,F) and prcomp(F[F]) no longer segfault.
o loess.smooth(F[F],F[F]) and supsmu(F[F],F[F]) no longer segfault.
o save(1, file = ""[F]) no longer segfaults.
o stop(list()) and warning(list()) no longer segfault.
o system(""[F]) and save(1, file = ""[F]) no longer segfault.
o Overflow of the pointer protection stack is handled correctly
o predict.glm(, type="link", se.fit=T) works
o str() now works with Surv(.) objects from library(survival5).
o all.equal(-Inf, -1e5) now gives "Mean absolute difference: Inf"
instead of "Mean relative difference: NaN".
o strsplit fix broke copy.url.
o 0 ^ -1 == Inf and min(NA, NaN) is now always NA
o R CMD xxx sets $R_HOME/bin to be first in PATH
o Added more warnings to update.packages & friends. New function
old.packages for better control of update.packages.
o Adding matrices to data frames now happens column by column as
documented, so character or logical matrices generate factor
columns.
o Formulae containing interactions with the response were
handled incorrectly by model.matrix, giving wrong answers or crashes.
o anova(lm(.)) with 0 weights now works.
o plot.lm(), dffits(), covratio() now do the right thing for weighted
lm regression.
o formatC(as.integer(c(1,0,NA))) now works. PR#394, thanks to Jens O.-A.
o format.char(.) is much faster for long vector argument [Jens O.-A.]
o \enumerate now enumerates in text conversion of .Rd files.
o glm() no longer fails with names<- errors in cases where
observations with fits on the mu.eta boundary have been dropped.
o Deviance residuals could be NaN instead of 0 by rounding error.
o shapiro.test(x) now gives better error messages (eg. x=rep(1,5))
and doesn't print ANYTHING anymore (in some cases).
o mode(as.formula(paste("~", paste(1:50, collapse="+")))[2]) now works.
o glm() now handles cases with numerically 0 or 1 fitted values in
binomial and numerically 0 in poisson correctly. (Previously
these observations were dropped even though the variances were
also numerically 0.)
o (-4 + 0i) ^ (1/2) now gives 2i.
o system.time() now does sensible things in the non-HAVE_TIMES
case, and that and proc.time() have better documentation.
o A couple of bugs in the data editor spreadsheet have been
eliminated.
o Elapsed time in proc.time() is no longer rounded to whole
seconds under Unix.
o Assigning character vectors to subsets of data frames now
works correctly (it used to assign the numeric codes of factors).
o Extensive enhancements and corrections to the help pages.
o The possibility of buffer overruns during printing has been
much reduced, and eliminated on systems with vsnprintf.
**************************************************
* *
* 0.90 SERIES NEWS *
* *
**************************************************
CHANGES IN R VERSION 0.90.1
NEW FEATURES
o rect(.) has `lwd' argument.
o legend() has a `adj' argument and has been streamlined (and fixed up).
o `unname' convenience function [experimental data.frame behavior].
o `examples' sections have been added to the documentation
for most of the data sets in the base library.
o update.packages & friends have new argument contriburl for
incomplete CRAN mirrors. Package bundles such as VR can be
directly installed both from the shell and from inside R.
o RLIBS is no longer accepted as well as R_LIBS (which has been
the documented form since 0.65.0).
o demo(nlm) has examples of using analytical gradients and
Hessians.
o .Platform$OS.type is standardized to be `unix', `mac' or `windows'
o setting cex in matplot(matrix(1:25,5), cex=1:5) now works
o ar.ols() has separate demean and intercept arguments, uses
internal scaling for greater accuracy.
o xxxPR functions allow NCHAR=-1 for S compatibility.
o `Rcomplex' is preferred to `complex' (a future reserved word
in C) for R complex objects passed to C.
o new function dir.create() for platform-independence.
o help.search() creates a database for faster searching later in
the R session.
o density() allows for more kernels and has a new argument
`give.Rkern' to access the relevant kernel property.
o multivariate methods for ar: "yule-walker" (now in C) and
"burg" (new) contributed by Martyn Plummer.
o New data sets `HairEyeColor' (hair and eye color of statistics
students), `Titanic' (survival of passengers on the Titanic),
and `UCBAdmissions' (student admissions at UC Berkeley).
BUG FIXES
o Many help pages have been revised and enhanced.
o predict.glm() works again with type="link".
o subscripting arrays and matrices no longer loses the names of
the dimnames vector. Transpose also preserves the names.
o examples in help files containing \testonly are no longer
(partially) duplicated.
o is.numeric() of a factor is now FALSE
o prevent a segfault in plotmath
o f <- get("function"); f(,); f(F,F) now "ok" (PR#361).
o blank-line reject code in parse.dcf was wrong (Martyn Plummer)
o made filled.contour independent of pointsize. Make plot key
wider so there's room for a title. Touchup example.
o font size fixups for the X11 driver (mainly)
o some.list[[NA]] is NULL, following S, rather than giving spurious
error messages
o segfault when running out of heap
o segfault in rbind of a vector without names fixed. cbind, too.
o fixed symbol size problems with PostScript driver
o unique() & duplicated() only work for atomic vectors;
unique(data.frame(""[F])) doesn't segfault anymore.
o get("attr<-")(""[0],""[0]) doesn't segfault anymore.
o blunder in do_memoryprofile, causing segfault on Alpha machines
o erroneous error message in coerceToSymbol
o partial workaround for workspace restore problems. This can
happen if an environment on the search path is assigned to a
variable which gets saved. The error "unresolved node during
restore" is turned into a warning, allowing the rest of the
workspace to be restored, but the variable contains an empty
environment on reload.
o density(x) now works also when IQR(x) == 0.
density(x, window=...) now works [S compatibility].
o prevent points from being plotted if pch, cex, or col are NA.
Does not apply to bg on pch 21--25 (where NA means
"transparent") because it would require fixes at the driver
level.
CHANGES IN R VERSION 0.90.0
NEW FEATURES
o packages splines (for regression smoothing splines or
interpolating splines) and nls (nonlinear least squares) are
part of the base distribution.
o New error handling using
options ( error = expression(..) , warning.expr = ... ).
REPLACING version 0.65.1's options(error.halt = T/F)
o collected warnings before an error are no longer lost but
are printed after the error message (unless the error makes
this impossible).
o A couple of substantial graphics changes, esp. in the X11
driver. The scaling of symbols is now linear in cex=, rather
than being tied to the available font's size. The fonts on an
X11 device also scale linearly with cex= insofar as your X
server can do it. On systems with the scalable type 1
PostScript fonts installed, this looks particularly nice. Note
that the scaling is linear in the *diameter*, but quadratic in
area. The distance between lines of margin text in the X11
device is now proportional to the size given to
x11(pointsize).
o abline(a,b) now (again) refers to transformed coordinates on
plots with log-axes, so that abline(lm(log10(y)~log10(x)))
(say) draws a best-fitting line on a log-log plot. The earlier
convention (to draw a curve representing a line in original
coordinates) is available using a new untf= argument.
o barplot.default() has new `axisnames' (and `sub') arguments, easily
allowing suppression of bar labeling.
o cbind() and rbind() now actually do what deparse.level=1 implies:
add column/row names based on the deparsed argument, provided it
is a simple symbol. The behaviour is still hardcoded, though.
o gc() now reports the total sizes in Mb as well as numbers.
o New function help.search() for searching the names, titles,
aliases, or keywords in the help system.
o image() allows x and y to specify either the boundaries or the
midpoints of the cells. If the latter, the whole cells are
drawn, rather than the outer cells being half-sized as previously.
o NULL extra arguments to model.frame() are now treated as missing
(instead of an error).
o optimization with nlm() can use analytic gradients and Hessians
if they are supplied.
o on.exit() allows add=TRUE.
o function parse.dcf() for parsing files in debian control file format
(DESCRIPTION, CONTENTS, ...)
o predict.{g}lm has a type="terms" option, and residual.glm has
type="partial" as a step towards plot.gam().
o New arguments to q() and quit() allow the exit status to be set
and the execution of .Last() to be skipped.
o New function regexpr(), similar to grep but returns the position
of the match in each string. (For S-PLUS compatibility.)
o scan() now supports complex numbers.
o New function sort.list, for S compatibility. (This has argument
partial, but always sorts completely.)
o storage.mode<- can be used to set "single", and if setting
anything other than "single" it removes the "Csingle" attribute.
o new function sunflowerplot().
o New function undoc() for listing undocumented objects.
o User's .Rprofile now executes in global environment
o All HTML pages now use the new style sheet doc/html/R.css
o html and text files have now a header line giving the name of
the help file and the package. The description section now
comes first.
o All the standard packages have DESCRIPTION files with
"Priority: base", so installed.packages and
package.description will work with them.
o The R-external manual which describes programming for the
.Call and .External interfaces is in the doc/manual directory.
o New target `make pdf' in doc/manuals makes hyperlinked PDF
documentation. (This is experimental for this release. See
doc/manual/README for further details.)
o S.h now contains (via Rdefines.h) a MESSAGE macro, and
Free NULLs the pointer, for compatibility with S3 (but not S4).
o New subroutine REALPR callable from Fortran (like DBLEPR but
for real arguments): useful if as.single is in use.
o The cex= argument to plot() etc. can be a vector, like pch=.
o lty=0 now (again) makes lines invisible. Looks better for
barplot label axis.
o zero.R tries to find the zero DLL in a system-independent way.
BUG FIXES
o apply should now work for all un-dimnamed arrays (PR#318).
o ar(..., demean=F) works more consistently across methods.
o barplot() had lower limits set at -0.01, causing trouble with
small heights. Switch to relative scale. (Thanks to Matt Wiener)
o density() should work better with NAs and infinite values. See
?density for the current definitions of how these are handled.
o diag(x) now works (as pre 0.65.1) for 1-d arrays.
o Stored-source was dropped by dump().
o expand.grid returns a data frame even for one arg.
o expand.grid(x) now also works for vector arguments x.
o factor(list()) or factor(character(0)) *is* now a factor
with valid levels(.);
ordered does NOT allow an `ordered' argument anymore
and is now defined as trivial call to factor.
o help page for gc gives correct size of cons cells (20 bytes
for 32-bit systems, 36 or more for 64-bit systems).
o gcinfo reports correct percentages of heap even for vsize > 200M.
o gl(6,3,12) and gl(6,3,2) now both work.
o Empty lists now deparse correctly.
o na.omit.ts and na.contiguous preserve classes.
o plot.factor {plot(<factor>)} now obeys axes=FALSE and xaxt="n".
o read.table(as.is = TRUE) would leave everything as character.
Now it correctly tries to convert to numeric.
o require() now has the warn.conflicts argument of library().
o Fix problems in scan(flush = TRUE).
o scan() got confused by trailing whitespace.
o split(x,f) now works even when f is a factor with unused levels
(PR#294).
o mosaicplot() has a formula interface and
NULL instead of NA default args.
o stars() has "NULL" instead of "NA" defaults.
o str() is quite a bit nicer with factors.
o ts.union, cbind.ts, arithmetic on ts objects now allow
non-integer frequencies.
o Switch to <tt> in HTML pages since Linux Netscape mangles
Courier.
o When documentation is "compiled" (build-help), you now get warnings
for multiple (conflicting) \alias{.} or \name{.}s.
o making the reference manual with `make dvi' copes better with
isolatin1 characters (but not perfectly as these are not in
standard TeX fonts).
o Rd.sty now uses standard LaTeX constructs like \bm for bold
math and \url for URLs.
o Protect R_fopen against NULL filename in Unix.
o Math text in outer margins didn't work.
o Text clipping now works in the X11 device.
o Pixel rows sometimes got doubled in rotated text on the X11 device.
o par("yaxt") is now ok.
o Problems with realloc on some systems in AllocBuffer.
o Problem with formatReal on non-IEEE systems.
o demos/dynload/Makefile used macros that gave incorrect build
on some non-GNU makes.
o Windows version copes better with paths with spaces in.
o R CMD check had a typo which made the final message fail.
o R_EOF redefined as -1, was causing trouble with isxxxx contructions.
**************************************************
* *
* 0.65 SERIES NEWS *
* *
**************************************************
CHANGES IN R VERSION 0.65.1
NEW FEATURES
o .C, .Fortran. .Call and .External now have an argument PACKAGE
to specify the shared library to be used for the symbol. See
?Foreign. Package writers are encouraged to use this.
o On startup (unless --no-environ), first .Renviron is looked for in
the current directory, and then in $HOME/ (= ~/ ).
o New options(error.halt = FALSE) (default is TRUE) allows
continuation after an error in batch processing.
o In graphics, lty has now 6 instead of 4 predefined line types.
o as.hclust.twins() in package mva to convert (and plot)
objects from agnes() and daisy() of package cluster.
o R INSTALL now can directly install pkg_version.tar.gz files
as obtained from CRAN. New function update.packages()
& friends for automatically downloading packages from CRAN and
install them on the fly (on Unix and Windows).
o New function commandArgs() to record the command-line used.
o New arguments `local' and `now' to dyn.load.
o diag(x) now keeps names when appropriate and barfs when x is an array.
o functions source.url, url.show, read.table.url, scan.url to read
from an http server instead of a file.
o grid() gets useful defaults: grid lines drawn at tick marks.
o set operations union(), intersect(), setdiff() and is.element().
o New function stars() for star plots and segment diagrams of
multivariate data.
o Version info now in the top-level file `VERSION'.
o barplot has a "plot = TRUE" argument and now returns locations of
all bars even when "beside = TRUE".
o hist has an "nclass" argument purely for S compatibility.
o Character strings can now, with most compilers, be passed
on and from Fortran. See ?Foreign for details.
o Functions as.single and single now have the effect with
.C and .Fortran of passing a numeric argument as float/REAL
rather than as double/DOUBLE PRECISION, by setting the
attribute "Csingle". See ?Foreign for details.
o Comparison of strings uses the current locale on systems where
this is available, and so is always consistent with the ordering
used by sort().
o sapply has a new argument USE.NAMES=TRUE and now returns a named
result when its input was a character.
o plot.stepfun has new arguments lty and lwd.
o x labels in boxplot now handled differently, so that math
expressions are allowed.