On 05/21/2018 12:06 AM, Glenn Schultz wrote:> All,
>
> I am considering creating an S4 class whose slots (2) are both S4
> classes. ?Since an S4 slot can be an S3 class I figure this can be done.
> ?However, the correct syntax of which I am unsure. ?Reviewing the docs
> I have come to the following conclusion:
>
> SetClass('myfoo',
> ? ? ? ? ? ? ? ? ? slots = (foo1, foo2))
>
> Without a type I believe each slot is .Data. ?A get method on the above
> class slots would return say foo1 which will have all methods and
> generics belonging to foo1 class. ?Is this the correct approach?
Suppose you have two classes
.A = setClass("A", slots = c(x = "numeric"))
.B = setClass("B", slots = c(y = "numeric", z =
"numeric"))
A third class containing these would be
.C = setClass("C", slots = c(a = "A", b = "B"))
where names of the slot argument are the slot names, and the character
strings "A", "B" are the type of object the slot will store.
> .C()
An object of class "C"
Slot "a":
An object of class "A"
Slot "x":
numeric(0)
Slot "b":
An object of class "B"
Slot "y":
numeric(0)
Slot "z":
numeric(0)
> .C(a = .A(x = 1:2), b = .B(y = 2:1, z = 1:2))
An object of class "C"
Slot "a":
An object of class "A"
Slot "x":
[1] 1 2
Slot "b":
An object of class "B"
Slot "y":
[1] 2 1
Slot "z":
[1] 1 2
Martin Morgan
>
> Best,
> Glenn
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
This email message may contain legally privileged and/or...{{dropped:2}}