From: Søren Højsgaard <Soren.Hojsgaard_at_agrsci.dk>

Date: Wed, 05 Mar 2008 01:13:32 +0100

R-help_at_r-project.org mailing list

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. Received on Wed 05 Mar 2008 - 00:15:55 GMT

Date: Wed, 05 Mar 2008 01:13:32 +0100

> a1 <- array(1:8,c(2,2,2))

> class(a1)

[1] "array"

> a2 <- array(1:4,c(2,2))

*> class(a2)
*

[1] "matrix"

If I write a generic function (apologies if this is the wrong word) on arrays as

foo <- function(x) UseMethod("foo")

foo.array <- function(x) sum(x)

then this fails on a 2-dimensional array:

> foo(a1)

[1] 36

> foo(a2)

Error in UseMethod("foo") : no applicable method for "foo"

Is there any way in which I can "force" a2 to being "interpreted" as having class "array" rather than "matrix" so that foo will work on a2???

Thanks in advance

Søren

R-help_at_r-project.org mailing list

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. Received on Wed 05 Mar 2008 - 00:15:55 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Wed 05 Mar 2008 - 01:30:20 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*