Displaying 20 results from an estimated 4000 matches similar to: ""for" loop wiht S4 Objects"
2009 Jan 19
1
pass by reference for S4
Hi all;
Is it possible to modify the "@" operator that it can handle references
(or external pointers)
of S4 Object instead of the real Objects?
Or is there any technical or compatibility issue which make it
impossible?
I look forward to hear from you and also hope that you don't hate me for
my nooby question.
Yours sincerely,
Rudolf Biczok
[[alternative
2011 Sep 10
3
Very slow using S4 classes
Hi everybody!
I'm creating an object of a S4 class that has two slots: ListExamples, which
is a list, and idx, which is an integer (as the code below).
Then, I read a data.frame file with 10000 (ten thousands) of lines and 10
columns, do some pre-processing and, basically, I store each line as an
element of a list in the slot ListExamples of the S4 object. However, many
operations after this
2010 Apr 24
3
S4 Inheritance of environments
I looked through the documentation and the mailing lists and could not
find an answer to this. My apologies if it has already been answered.
If it has, a pointer to the relevant discussion would be greatly
appreciated.
Creating S4 classes containing environments exhibits unexpected
behavior/features.? These have a different in two ways:
1) slotName for the data: ".xData" instead of
2011 Jun 04
1
S4 class, passing argument names to function, modify original
Hello, an S4 class "Foo" is defined with a setter, $. For several reasons, the setter calls a function, .foo.update(). However, bypassing the argument names of the setter does not work. Question 1: Why not and how can I fix this? Question 2: What is the way to define either the function or the setter to modify the original object (not returning the modified copy of it an overwrite the
2008 Mar 15
1
length of S4
Hi the list,
With basic type, length gives the length of the vector
Wtih list, length gives the number of item
With S4 object, length gives...one. Even with an objet with empty slot.
setClass("E",representation(e="numeric"))
[1] "E"
length(new("E"))
[1] 1
setClass("E",representation(e="matrix"))
[1] "E"
2009 Aug 17
2
S4: inheritance of validity methods?
Dear Developers,
In current implementation of validity method, objects are first coerced to
superclass (slots are striped). Thus, it is not possible to write validity
method which would perform some checks on children slots.
Say, I want to check if number of slots in a class is equal to "n":
setClass("A", representation(a="numeric", n="integer"),
2015 May 28
3
S4 inheritance and old class
Hey everyone,
I would like to develop a package using S4 classes.
I have to define several S4 classes that inherits from each others as
follow:
# A <- B <- C <- D
I also would like to define .DollarNames methods for these class so, if I
have understood well, I also have to define an old class as follow:
# AOld <- A <- B <- C <- D
setOldClass(Classes = "AOld")
2009 Jan 25
3
Defining an iterator
Inspired by Rudolf Biczok's query of Fri, Jan 23, 2009 at 1:25 AM, I
tried to implement iteration in a generic way using S4. (Though I am
admittedly still struggling with learning S4.)
> setClass("foo",representation(bar="list"))
[1] "foo"
> x<-new("foo",bar=list(1,2,3))
Given this, I would not expect for(i in x)... to work, since R has no
way
2008 Nov 20
1
How to convert S4 class slots into data.frame or how to assign variables of type 'Date'
Hi,
I created a class (S4) with some slots like value, date, description
(it's actually a financial transaction class). Now I need a method to
convert this class forth and back into a single row data.frame, where
every slots represents a column. This method looks at the moment like
this:
> setMethod("as.data.frame", "Transaction",
function(x, row.names =
2005 Jan 18
1
"Attach" for S4 objects?
When passing a list as an argument to a function, I find it convenient
to attach it in the first line of th function code, then refer to the
components as A, B, etc. rather than as list$A, list$B, etc.
If I pass a S4 class object, is there a way to "attach" it, or do I have
to refer to the slots as object at A, objetc at B, etc.?
I could always make copies,
A <- object at A
2009 Jun 18
1
validObject throws non-caught error when slot doesn't exist
I have been retooling an S4 class definition to include another slot and
have found that the methods::validObject function (defined in
methods/R/SClasses.R) in R-devel throws an error that isn't caught
internally (and thus not controllable by 'test' argument) when
retrieving a non-existent slot. The offending line of code is shown below:
> validObject
function (object, test =
2011 Nov 18
1
S4 : defining [<- using inheritance from 2 classes
Hi the list,
I define a class 'C' that inherit from two classes 'A' and 'B'. 'A' and 'B'
have no slot with similar names.
----------------
setClass(
Class="C",
contains=c("A","B")
)
To define the get operator '[' for class "C", I simply use the get of "A" or
"B" (the constante
2006 Dec 12
1
S4 'properties' - creating 'slot' functions?
Dear R users!
Several languages like C# or VB allow one to create properties; typically
these are under 'get', 'set' tags. My question is this really, what are
similar or comparable strategies in R, and what might be preferred? I have a
couple of situations where I want a certain computation to belong to a
class, but I do not really want to seperate it out to a stand-alone
2013 Feb 15
1
Iterating through slots of an S4 object
I want to loop through slots of an S4 object and am unsure how to do so
since the only way I can find to access them is individually in the form
'object@slotName'. I have guessed at a few possibilities which did not work
and I have read some S4 object tutorials and things but still unsuccessful.
I presume it is possible though?
Any help would be much appreciated,
Scott
[[alternative
2017 Jun 06
2
surprisingly, S4 classes with a "dim" or "dimnames" slot are final (in the Java sense)
Hi,
It's nice to be able to define S4 classes with slots that correspond
to standard attributes:
setClass("A1", slots=c(names="character"))
setClass("A2", slots=c(dim="integer"))
setClass("A3", slots=c(dimnames="list"))
By doing this, one gets a few methods for free:
a1 <- new("A1", names=letters[1:3])
2004 Nov 26
1
Testing for S4 objects
Dear r-help list members,
Is there a way to test whether an object is an S4 object? The best that I've
been able to come up with is
isS4object <- function(object) !(is.null(slotNames(object)))
which assumes that an S4 object has at least one slot. I think this is safe,
but perhaps I'm missing something.
Thanks,
John
--------------------------------
John Fox
Department of
2004 Nov 26
1
Testing for S4 objects
Dear r-help list members,
Is there a way to test whether an object is an S4 object? The best that I've
been able to come up with is
isS4object <- function(object) !(is.null(slotNames(object)))
which assumes that an S4 object has at least one slot. I think this is safe,
but perhaps I'm missing something.
Thanks,
John
--------------------------------
John Fox
Department of
2017 Jun 06
1
surprisingly, S4 classes with a "dim" or "dimnames" slot are final (in the Java sense)
I've fixed this and will commit soon.
Disregard my dim<-() example; that behaves as expected (the class needs a
dim<-() method).
Michael
On Tue, Jun 6, 2017 at 5:16 AM, Michael Lawrence <michafla at gene.com> wrote:
> Thanks for the report. The issue is that one cannot set special attributes
> like names, dim, dimnames, etc on S4 objects. I was aready working on this
>
2011 Aug 09
2
S4 classes, some help with the basics
Hi All,
I have tried to find an answer within documentation, but I cannot:
o How can call a class "slot" without knowing the name a priori?
E.g., let's say I use the "pcaMethods" library to create a "pcaRes"
object. How can I call parts of that object without using the specific
names of the object in the call?
example code:
library(pcaMethods)
2008 Jun 07
1
slot(obj, "nosuch") documentation question
Using slot() on object (or "@") and using a nonexistent
slotname returns an error (see example code).
R> setClass("foobar", representation=list(a="numeric"))
[1] "foobar"
R> foobar <- new("foobar", a=5)
R> foobar at a
[1] 5
R> foobar at b
Error: no slot of name "b" for this object of class "foobar"
The details