Displaying 20 results from an estimated 10000 matches similar to: "Revisions of the S4 classes software + ?Documentation"
2002 Jul 02
0
Changes to the methods package
A new version was checked in to r-devel today. These are the main
changes:
1. Objects from the methods package are no longer copied into base. As
a result, the behavior of data.class and all.equal should be the same
whether methods are attached or not. (The methods package no longer
uses data.class.) Also, detaching the methods package should restore
the behavior of class() to the S3
2004 Aug 25
0
S3 classes in S4 class definitions
One of the changes some packages are noticing from the recent
modifications to methods is warnings of "undefined classes" during
installation when the package extends S3 classes or uses them as slots
UNLESSS they have been declared in a setOldClass() call. The green book
"strongly recommends" declaring S3 classs this way (pp 449-451).
The warnings on undeclared classes
2000 Jan 05
0
Statistical Software Prize
Dear colleagues:
This summer, the ASA will award a new prize for statistical software.
This note is to encourage you to apply or nudge someone you know to
apply.
The award is for software that contributes to better use of computing
in statistical research and applications, written while the applicant
was a student. There is a $1,000 prize plus the opportunity to give
an invited talk at the
2003 Sep 05
1
namespaces and S4 methods/classes
The current version of the methods package now has a namespace. Packages
using S4 methods and classes can have NAMESPACE files. New directives
can be included in NAMESPACE files to import and export classes and
methods.
Namespaces allow cleaner definition of the API for packages, and are
needed for future improvements to R.
NOTE: This is a major revision. In principle, it should be back
2002 Sep 10
0
Old-style classes: bug fix & request
Bug fix:
A bug introduced in version 1.6 failed to "initialize" some old-style
(aka "S3") classes, producing possible warning messages if those classes
were used in the signature of a method in the methods package.
The real bug, though, was that old-style inheritance could not be
included, until the setOldClass function was provided. Initializing the
methods package now
2004 Aug 24
1
Changes to correct problems with classes in namespaces
An extensive set of changes to the methods package has been committed
today to allow non-exported classes from packages with namespaces (and
some related fixes in dealing with generic functions from namespaces as
well).
The namespace mechanism requires packages to export any class
definitions that are part of the API. Unfortunately, NOT exporting
classes has never really worked.
The problem was
2020 Sep 24
0
Is it possible to simply the use of NULL slots (or at least improve the help files)?
I did ?"NULL<tab> at the command line and was lead to ?"NULL-class" and the BasicClasses help page in the methods package.
getClass("NULL"), getClass("character") show that these objects are unrelated, so a class union is the way to define a class that is the union of these. The essence of the behavior you would like is
2001 Jan 06
0
R/S-Plus compatibility package
We're starting work on an R package and corresponding S-Plus library
to help programmers write software that will work in both systems.
Some descriptions and downloadable software are available on the
Omegahat web site, at
http://www.omegahat.org/SLanguage/
The strategy, as described there, is to be as back-compatible within R
and within S-Plus as possible, but provide tools and guidelines
2001 Nov 02
0
Changes to the methods package
I'm about to commit some changes to the methods package. Before
downloading the revised code, note the following.
Because the changes involve a revised version of storage for the methods
definitions, you will need to re-install any packages that contain
method definitions, from their source code. Otherwise the methods will
look as if they've disappeared from the generic functions.
The
2001 Nov 13
0
Method dispatch in C for primitive functions
There is a version of the methods package committed today that does
dispatch in C for these functions. This should considerably speed up
programs that define methods for these functions (specifically, having
methods should only marginally affect the existing computations for the
same function on basic vectors and objects).
This is the first of several steps needed. Not quite all primitives are
2001 Nov 13
1
Methods package: One of those strategy questions
I had better mention this one separately, since until it's settled you
need a workaround.
If you define methods for primitives now, this does NOT create an
explicit generic function for, say, "[", so that the original primitive
computations still run.
This means that the method dispatch has to be turned on for that
function somehow else.
The proposal is that the library() and
2001 Nov 30
0
New version of methods package
A new version of the package has been committed to the r-devel branch.
There are a lot of changes, mostly non-visible, many of those to tighten
up some possible problems. For example, slot assignment now checks the
validity of the value being assigned, and basic classes cannot be
overriden.
There is a version of the promptClass function by Vince Carey, to
produce shell of documentation for a
2001 Dec 12
0
Changes to methods package in R 1.4
A few recent changes:
- as announced to R-core, the package now has a version of the plot
function with formal arguments (x, y, ...) that allow methods to be
defined for x and/or y. ?setMethod has some examples.
- The "basic classes" have been made somewhat more complete (class
"structure" was added, along with relations among it, "matrix", "array",
2002 Apr 29
0
methods package: inheriting from structures; group generics
Now that 1.5 is released, some changes have been committed to the
r-devel version of the methods package.
They are mostly bug fixes (or making things work more as users would
expect) in two areas:
1. new classes that extend one of the basic datatypes that have
attributes but had no class attribute in S3 (e.g., "matrix" or "ts").
The previous code didn't handle the
2002 Aug 28
0
Fixes/additions to methods package
Some changes committed today to the r-devel (1.6.0) version of the
methods package:
1. The function setOldClass has been added as per the green book, p.
450. The point in this case is not conversion as in the green book so
much as allowing old-style classes to be included in signatures given to
setMethod.
This worked before (with a warning), but old-style inheritance couldn't
be picked up.
2003 Jan 21
0
UseMethod; all.equal; isas-tests
1. UseMethod (via usemethod in objects.c) now uses the definition of
class() to dispatch, with the methods package attached (dataClass(x))
and without (attr(x, "class")).
Packages using a construction of the form
if(is.null(class(x))) class(x) <- data.class(x)
UseMethod("foo")
should now get similar dispatch with the methods package attached.
2. all.equal and some of its
2003 Mar 17
0
Changes in checking & error messages
Some fixes have been made to check a few errors better & to report
something like the correct error message in other cases.
- setMethod will now refuse to set a method for a primitive function for
a basic class ("[<-" for "matrix", for example). Previously the method
was set but never dispatched. (For a few days, the change prohibited
some valid methods for operators,
2003 Aug 20
0
Changes to methods package
A number of changes were committed today.
Mainly:
1. It should now be possible to install packages using classes and
methods in a more straightforward way, and with or without saved images
(saved images are still recommended for efficiency). The idea is to be
able to write class & method definitions in a package source, with
default `where' argument, as per examples in the green book.
2003 Sep 08
0
setAs() and namespaces
An example sent by Ross Ihaka points out a non-obvious step needed to
export the results of setAs().
The as() mechanism can't use ordinary method dispatch because the second
argument is the name of a class, not an object from the class. So it
uses a "helper" function, coerce(), and sets methods for that function.
Therefore, if you want to export the results of setAs(), at the
2020 Sep 23
3
Is it possible to simply the use of NULL slots (or at least improve the help files)?
As far as I can tell, there's no trivial way to set arbitrary S4 slots to NULL.
Most of the online examples I can find, use setClassUnion and are
about 10 years old.
Which, in my opinion, is defective.
There's nothing "robust" about making something that should be
trivially simple, really complicated.
Maybe there is a simpler way, and I just haven't worked it out, yet.
But